Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
開発生産性の観点から考える自動テスト(2024/06版) / Automated Test K...
Search
Takuto Wada
PRO
June 29, 2024
Programming
36
30k
開発生産性の観点から考える自動テスト(2024/06版) / Automated Test Knowledge from Savanna 202406 Findy dev-prod-con edition
2024年6月29日
Findy 開発生産性カンファレンス2024 Closing Keynote
https://dev-productivity-con.findy-code.io/2024
Takuto Wada
PRO
June 29, 2024
Tweet
Share
More Decks by Takuto Wada
See All by Takuto Wada
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
92
69k
The Clean ArchitectureがWebフロントエンドでしっくりこないのは何故か / Why The Clean Architecture does not fit with Web Frontend
twada
PRO
79
30k
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
34
11k
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
2.1k
組織に自動テストを書く文化を根付かせる戦略(2024秋版) / Building Automated Test Culture 2024 Autumn Edition
twada
PRO
14
6.7k
これまでと違う学び方をしたら挫折せずにRustを学べた話 / Programming Rust techramen24conf LT
twada
PRO
33
28k
自動テスト実行結果の目的を整理する / Organizing objectives of automated test results
twada
PRO
14
3.4k
変更容易性と理解容易性を支える自動テスト(2024/02版) / Automated Test Knowledge from Savanna 202402 YAPC::Hiroshima edition
twada
PRO
22
14k
実録レガシーコード改善 / Working with Legacy Code: the True Record
twada
PRO
112
52k
Other Decks in Programming
See All in Programming
ASP.NETアプリケーションのモダナイズ インフラ編
tomokusaba
1
210
UPDATEがシステムを複雑にする? イミュータブルデータモデルのすすめ
shimomura
1
530
レガシーシステムの機能調査・開発におけるAI利活用
takuya_ohtonari
0
590
Go Modules: From Basics to Beyond / Go Modulesの基本とその先へ
kuro_kurorrr
0
110
ワイがおすすめする新潟の食 / 20250530phpconf-niigata-eve
kasacchiful
0
300
エラーって何種類あるの?
kajitack
5
140
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
1
620
Effect の双対、Coeffect
yukikurage
5
1.4k
iOSアプリ開発で 関数型プログラミングを実現する The Composable Architectureの紹介
yimajo
2
200
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
300
💎 My RubyKaigi Effect in 2025: Top Ruby Companies 🌐
yasulab
PRO
1
130
型付きアクターモデルがもたらす分散シミュレーションの未来
piyo7
0
760
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
4
130
Why Our Code Smells
bkeepers
PRO
337
57k
Done Done
chrislema
184
16k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
123
52k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
43
2.4k
Music & Morning Musume
bryan
46
6.6k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Building Applications with DynamoDB
mza
95
6.4k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Transcript
ࣗಈςετ ։ൃੜ࢈ੑͷ؍͔Βߟ͑Δ 5BLVUP8"%" +VO !։ൃੜ࢈ੑΧϯϑΝϨϯε !U@XBEB !UXBEB 📷🙆 🙆 !UXBEB
JEUXBEB ։ൃੜ࢈ੑDPO@ fi OEZ@NBJOIBMM ։ൃੜ࢈ੑDPO@ fi OEZ rev.2
ͳͥࣗಈςετΛ ॻ͘ͷͩΖ͏͔
IUUQTXXX fl JDLSDPNQIPUPTNEHSPVQ ࣗಈςετΛॻ͘ओతࢦඪΛʮίετݮʯʹ͢Δͱɺظతʹࣗಈς ετͷֶशίετɺதظతʹอकίετʹΑͬͯࢥͬͨΑ͏ͳίετݮޮ Ռ͕ಘΒΕͣɺखಈςετʹΔͱ͍͏அΛͯ͠͠·͍͕ͪͰ͢ ࣗಈςετҎ֎ͷٕज़ࢪࡦͰίετݮΛओతʹ͢Δͱࣦഊ͕ͪ͠Ͱ͢ ΞϯνύλʔϯίετݮΛओతʹ͢Δ
IUUQTUXJUUFSDPNUPLPSPUFOTUBUVT มߋ༰қੑͷߴ͍ιϑτΣΞʹΑΔΞδϦςΟͷ֫ಘ
IUUQTXXXPSFJMMZDPKQCPPLT ʰ(PPHMFͷιϑτΣΞΤϯδχΞϦϯάʱQ ࣗಈςετͷಈػৗʹมԽΛՄೳʹ͢ΔͨΊ
ͳͥࣗಈςετΛॻ͘ͷ͔ 🙅 ίετΛݮ͢ΔͨΊ 🙆 ૉૣ᪳͘ͳ͘มԽ͠ଓ͚ΔྗΛಘΔͨΊ
݁
৴པੑͷߴ͍࣮ߦ݁Ռʹ ͍࣌ؒͰ౸ୡ͢Δঢ়ଶΛอͭ͜ͱͰɺ ։ൃऀʹࠜڌ͋Δࣗ৴Λ༩͑ɺ ιϑτΣΞͷΛ࣋ଓՄೳʹ͢Δ͜ͱ ࣗಈςετͷత
৴པੑͷߴ͍ ࣮ߦ݁Ռʹ ͍࣌ؒͰ౸ୡ͢Δ ঢ়ଶΛอͭ "HFOEB 🦁
ςετࣗಈԽͱاۀͷۀͷҼՌؔ IUUQTXXXBNB[PODPKQEQ ςετͷࣗಈԽʹ͓͍ͯɺ*5ύϑΥʔϚϯεͷ ༧ଌईͱͳΓ͏Δ͜ͱ͕໌ͨ͠ͷ࣍ͷͭ ৴པੑͷߴ͍ࣗಈςετΛඋ͑Δ͜ͱ ։ൃऀओମͰड͚ೖΕςετΛ࡞ɾཧ͠ɺ खݩͷ։ൃڥͰ؆୯ʹ࠶ݱɾमਖ਼Ͱ͖Δ͜ͱ ʰ-FBOͱ%FW0QTͷՊֶʱQʢ˞༁ΛҰ෦มߋʣ
IUUQTXXXBNB[PODPKQEQ ςετʹ߹֨ͨ͠ιϑτΣΞͰ͋ΕϦϦʔεՄೳɺෆ߹֨Ͱ͋Εॏେͳ ෆ۩߹͕͋ΔɺͱνʔϜ͕֬৴Ͱ͖ΔΑ͏ͳςετΛ࣮ࢪ͍ͯ͠Δ͜ͱ ޡݕʢِཅੑGBMTFQPTJUJWFʣݟಀ͠ʢِӄੑGBMTFOFHBUJWFʣ͕ଟ ͘ɺ৴པੑʹ͚ܽΔςετεΠʔτ͕͋·Γʹଟ͗͢Δ ৴པͷߴ͍ςετεΠʔτΛ࡞Γ্͛Δܧଓతͳྗͱ ࢿՁ͕͋Δ ৴པੑͷߴ͍ࣗಈςετΛඋ͑Δ͜ͱ
ʰ-FBOͱ%FW0QTͷՊֶʱQʢ˞༁ΛҰ෦มߋʣ
ޭͱࣦഊɺِཅੑͱِӄੑ IUUQTHJIZPKQEFWTFSJBMTBWBOOBMFUUFS Օॴͷಛఆͱम෮ σϓϩΠɺϚʔδ
IUUQTXXXBNB[PODPKQEQ ςετʹ߹֨ͨ͠ιϑτΣΞͰ͋ΕϦϦʔεՄೳɺෆ߹֨Ͱ͋Εॏେͳ ෆ۩߹͕͋ΔɺͱνʔϜ͕֬৴Ͱ͖ΔΑ͏ͳςετΛ࣮ࢪ͍ͯ͠Δ͜ͱ ޡݕʢِཅੑGBMTFQPTJUJWFʣݟಀ͠ʢِӄੑGBMTFOFHBUJWFʣ͕ଟ ͘ɺ৴པੑʹ͚ܽΔςετεΠʔτ͕͋·Γʹଟ͗͢Δ ৴པͷߴ͍ςετεΠʔτΛ࡞Γ্͛Δܧଓతͳྗͱ ࢿՁ͕͋Δ ৴པੑͷߴ͍ࣗಈςετΛඋ͑Δ͜ͱ
ʰ-FBOͱ%FW0QTͷՊֶʱQʢ˞༁ΛҰ෦มߋʣ
ِཅੑͱِӄੑͷύλʔϯ w ِཅੑ w ੬͍ςετ CSJUUMFUFTU GSBHJMFUFTU w ৴པෆೳςετ
fl BLZUFTU w ِӄੑ w ۭৼΓ w ΧόϨοδෆɺςετෆ w ࣗ࡞ࣗԋ
৴པෆೳੑʢ fl BLJOFTTʣ͕ʹۙ͢ΔͱɺςετՁΛࣦ͍࢝ΊΔ IUUQTXXXPSFJMMZDPKQCPPLT ʰ(PPHMFͷιϑτΣΞΤϯδχΞϦϯάʱQ
ِཅੑͱِӄੑͷύλʔϯ w ِཅੑ w ੬͍ςετ CSJUUMFUFTU GSBHJMFUFTU w ৴པෆೳςετ
fl BLZUFTU w ِӄੑ w ۭৼΓ w ΧόϨοδෆɺςετෆ w ࣗ࡞ࣗԋ
ِཅੑͱِӄੑͷύλʔϯ w ِཅੑ w ੬͍ςετ CSJUUMFUFTU GSBHJMFUFTU w ৴པෆೳςετ
fl BLZUFTU w ِӄੑ w ۭৼΓ w ΧόϨοδෆɺςετෆ w ࣗ࡞ࣗԋ
// プロダクトコード class Item { // コンストラクタ割愛 tax_amount() { const
rate = (this.tax_rate / 100); return (this.price / (1 + rate)) * rate; } } // テストコード it('税込価格から税額を返す', () => { const item = new Item('技評茶', 130, 8); const expected = (130 / (1 + (8 / 100))) * (8 / 100); assert.equal(item.tax_amount(), expected); }); ࣗ࡞ࣗԋͷྫςετରϩδοΫͷςετίʔυͷ࿙Εग़͠ ԁະຬͷ͕ൃੜ͢Δ όά͕͋Δ ςετίʔυͷํಉ͡ϩδοΫͰ ظΛܭࢉ͍ͯ͠ΔͷͰ ςετ͕ޭͯ͠͠·͏
৴པੑͷߴ͍ ࣮ߦ݁Ռʹ ͍࣌ؒͰ౸ୡ͢Δ ঢ়ଶΛอͭ "HFOEB 🦁
ࣗಈςετͷ࣮ߦ݁ՌʮใʯͰ͋Γɺใͷ ׂͱҙࢥܾఆͱߦಈΛଅ͢͜ͱ ςετͷ࣮ߦ݁Ռ͕ଅ͢ߦಈͱɺσϓϩΠɺϚʔ δɺίʔυͷमਖ਼ͳͲ ใͷׂҙࢥܾఆͱߦಈΛଅ͢͜ͱ
ޭ࣌ͷΞΫγϣϯɺࣦഊ࣌ͷΞΫγϣϯ σϓϩΠɺϚʔδ Օॴͷಛఆͱम෮
ࣗಈςετ࣮ߦ݁Ռͷग़ྗͱૂ͍ w ৴߸ػͱͯ͠ w ਓؒʹͱ w ػցʹͱ Ҏ্ w
ܽؕͷߜΓࠐΈͱͯ͠ w ࣗಈςετͷࣦഊʹछྨ͋Δ w &YFDVUJPO&SSPSςετ࣮ߦதʹϓϩμΫτίʔυ͔Βൃੜ͢Δ࣮ߦ࣌Τϥʔ w "TTFSUJPO'BJMVSFςετίʔυͷதʹॻ͍ͨද໌ʢΞαʔγϣϯʣͷࣦഊ w Օॴͷಛఆͱ w Կ͕ɺͲ͜ͰɺͲͷΑ͏ʹࣦഊ͔ͨ͠ IUUQTHJIZPKQEFWTFSJBMTBWBOOBMFUUFS
@Test void 税込価額を税率ごとに区分して合計した金額に対して税額を計算し端数は切り捨てること() { var inv = createSimplifiedInvoice(); // 中略
var tax = inv.tax(); assertTrue(tax.reduced() == 40); } ͲͷΑ͏ʹࣦഊ͔ͨ͠Ξαʔγϣϯͷదͳ༻ org.opentest4j.AssertionFailedError: expected: <true> but was: <false> ୯ͳΔཧࣜͰʢ͠ͳ͍ͱʣ ࣦഊ࣌ͷใ͕ܽམ͢Δ
@Test void 税込価額を税率ごとに区分して合計した金額に対して税額を計算し端数は切り捨てること() { var inv = createSimplifiedInvoice(); // 中略
var tax = inv.tax(); assertEquals(40, tax.reduced()); } ͲͷΑ͏ʹࣦഊ͔ͨ͠Ξαʔγϣϯͷదͳ༻ ൺֱͷͨΊͷΞαʔγϣϯʹมߋ org.opentest4j.AssertionFailedError: expected: <40> but was: <39>
৴པੑͷߴ͍ ࣮ߦ݁Ռʹ ͍࣌ؒͰ౸ୡ͢Δ ঢ়ଶΛอͭ "HFOEB 🦁
օ͞Μʹ͓͍͠·͢ 🙋🙋🙋 σʔλϕʔεʹΞΫηε͢ΔͷϢχοτςετ :FT/P ωοτϫʔΫʹΞΫηε͢ΔͷϢχοτςετ :FT/P ϑΝΠϧʹΞΫηε͢ΔͷϢχοτςετ :FT/P ݱࡏ࣌ࠁʹΞΫηε͢ΔͷϢχοτςετ :FT/P
ґଘઌͷϞδϡʔϧʹຊΛ͏ͷϢχοτςετ :FT/P
IUUQTNBSUJOGPXMFSDPNCMJLJ6OJU5FTUIUNM 6OJU5FTUͷ6OJUͬͯԿʁ
IUUQTNBSUJOGPXMFSDPNCMJLJ6OJU5FTUIUNM 6OJU5FTUͷ6OJUͬͯԿʁ
ςεταΠζ ࣗಈςετͱ$*ʹϑΟοτ͢Δ ໌֬ͳςετྨج४
5FTU4J[FΑΓᐆດ͞ͷগͳ͍ྨ
IUUQTUFTUJOHHPPHMFCMPHDPNUFTUTJ[FTIUNM ྫ(PPHMFͷ"OESPJE։ൃνʔϜʹ͓͚Δ5FTU4J[F
4NBMM ʢ୯Ұϓϩηεʣ .FEJVN ʢ୯ҰϚγϯʣ -BSHF ʢ੍ͳ͠ʣ 6OJU େ͍ʹਪ ආ͚͍͕ͨ ͔ͨ͠ͳ͍ͱ͖
࠷ѱ͕ͩ Α͘ݟ͔͚Δ *OUFHSBUJPO ॻ͚ΔͳΒ ίεύྑ͠ ී௨ Ͱ͖Ε ආ͚͍ͨ && ݪཧ্ෆՄೳʹ͍͕ۙ খ͍͞γεςϜͳΒՄೳʁ খ͍͞γεςϜ ͳΒՄೳ ී௨͔ͭ $6+ʹߜΓ͍ͨ 5FTU4DPQFͱ5FTU4J[F 5FTU4J[F 5FTU4DPQF
4NBMM ʢ୯Ұϓϩηεʣ .FEJVN ʢ୯ҰϚγϯʣ -BSHF ʢ੍ͳ͠ʣ 6OJU େ͍ʹਪ ආ͚͍͕ͨ ͔ͨ͠ͳ͍ͱ͖
࠷ѱ͕ͩ Α͘ݟ͔͚Δ *OUFHSBUJPO ॻ͚ΔͳΒ ίεύྑ͠ ී௨ Ͱ͖Ε ආ͚͍ͨ && ݪཧ্ෆՄೳʹ͍͕ۙ খ͍͞γεςϜͳΒՄೳʁ খ͍͞γεςϜ ͳΒՄೳ ී௨͔ͭ $6+ʹߜΓ͍ͨ 5FTU4DPQFͱ5FTU4J[F 5FTU4J[F 5FTU4DPQF ίεύྑ͠ ίεύѱ͠
৴པੑͷߴ͍ ࣮ߦ݁Ռʹ ͍࣌ؒͰ౸ୡ͢Δ ঢ়ଶΛอͭ "HFOEB 🦁
ςετϐϥϛου ࣗಈςετͷ৴པੑΛ தظతʹอͭ ࠷దͳόϥϯε
Ϣχοτ ΠϯςάϨʔγϣϯ && ίετ ࣮ੑ ςετέʔε ߴ
ߴ ܾఆੑ ςετϐϥϛου
ςετϐϥϛουͱΞΠεΫϦʔϜίʔϯΞϯνύλʔϯ IUUQTXBUJSNFMPOCMPHJOUSPEVDJOHUIFTPGUXBSFUFTUJOHJDFDSFBNDPOF
ࠞཚʮϢχοτʯʮΠϯςάϨʔγϣϯʯͷղऍͷϒϨ͔Βੜ͕ͪ͡
Ϣχοτ ΠϯςάϨʔγϣϯ && ίετ ࣮ੑ ςετέʔε ߴ
ߴ ܾఆੑ ϒϨͷগͳ͍ςετͷྨج४ʜʜʁ
ίετ ࣮ੑ ߴ ߴ ܾఆੑ ϒϨͷগͳ͍ςετͷྨج४ˠςεταΠζ 4NBMM
.FEJVN -BSHF ςετέʔε
medium small large ςετϐϥϛουͱςεταΠζͱϏϧυύΠϓϥΠϯ ϝϞϦͰಈ͘4NBMM5FTU Ͱ͖Δ͚ͩ͜͜ͷൺΛߴΊ͍ͨ ϏϧυޙͷΠϝʔδ%#ΛΈ߹Θͤͨ .FEJVN5FTU ࣮γεςϜʹ͍ۙߏͷ -BSHF5FTU
ʢͳͷͰͯ͘ෆ҆ఆʣ
αΠζμϯઓज़ ΞΠεΫϦʔϜίʔϯ͔Β ϐϥϛου
IUUQTXBUJSNFMPOCMPHJOUSPEVDJOHUIFTPGUXBSFUFTUJOHJDFDSFBNDPOF 4NBMM .FEJVN -BSHF खಈςετ Ͱɺଟ͘ͷݱͰΞΠεΫϦʔϜίʔϯ͔Β࢝·ΔʢͦΕѱ͍͜ͱͰͳ͍ʣ
IUUQTXXXPSFJMMZDPKQCPPLT ʰγεςϜӡ༻ΞϯνύλʔϯʱQ ͳͥΞΠεΫϦʔϜίʔϯʹͳͬͯ͠·͏ͷ͔
IUUQTXXXUIPVHIUXPSLTDPNSBEBSUFDIOJRVFTCSPBEJOUFHSBUJPOUFTUT &&ςετͷաࢿ5FDIOPMPHZ3BEBSͰʮ)0-%ʯʹϨʔςΟϯά͞Εͨ
IUUQTXXXUIPVHIUXPSLTDPNSBEBSUFDIOJRVFTCSPBEJOUFHSBUJPOUFTUT ςετࣗಈԽͷྗশࢍʹ͢Δ͕ɺࢲ͕ͨͪޮՌతͰͳ͍ͱߟ͑Δൣͳ౷߹ςετ ʢ˞&&ςετʣʹաࢿ͍ͯ͠Δ৫Λଟ͘ݟ͔͚Δɻ ͜ͷΑ͏ͳςετɺඞཁͳΠϯϑϥɺσʔλɺαʔϏεΛͯ͢උ͑ͨϑϧػೳͷςετ ڥΛඞཁͱ͢ΔͨΊɺ໌Β͔ʹίετ͕͔͔Δɻ ͜ΕΒͯ͢ͷґଘؔͷదͳόʔδϣϯΛཧ͢Δʹɺ͔ͳΓͷௐΦʔόʔϔου͕ ඞཁͱͳΓɺϦϦʔεαΠΫϧ͕͘ͳΓ͕ͪͰ͋Δɻ ࠷ޙʹɺςετͦͷͷ͕੬͘ʹཱͨͳ͍͜ͱଟ͍ɻྫ͑ɺςετ͕ࣦഊͨ͠ͷ͕৽͠ ͍ίʔυͷ͍ͤͳͷ͔ɺόʔδϣϯͷෆҰகʹΑΔґଘؔͷ͍ͤͳͷ͔ɺڥͷ͍ͤͳͷ͔ Λஅ͢Δʹ࿑ྗ͕͔͔ΓɺΤϥʔϝοηʔδ͕ΤϥʔͷݪҼΛಥ͖ࢭΊΔॿ͚ʹͳΔ͜ͱ
΄ͱΜͲͳ͍ɻ ͜ΕΒͷ൷ɺࣗಈԽ͞ΕͨʮϒϥοΫϘοΫεʯ౷߹ςετΛҰൠతʹࢹ͍ͯ͠Δ͜ ͱΛҙຯ͢ΔͷͰͳ͍͕ɺΑΓ༗༻ͳΞϓϩʔνɺࣗ৴ͱϦϦʔεසͷόϥϯεΛͱ ΔͷͰ͋Δͱߟ͑Δɻ &&ςετͷաࢿ5FDIOPMPHZ3BEBSͰʮ)0-%ʯʹϨʔςΟϯά͞Εͨ
Ͳ͏ͬͯΞΠεΫϦʔϜίʔϯΛϐϥϛουʹ͍͔ͯ͘͠ IUUQTXBUJSNFMPOCMPHJOUSPEVDJOHUIFTPGUXBSFUFTUJOHJDFDSFBNDPOF 4NBMM .FEJVN -BSHF खಈςετ 4NBMM .FEJVN -BSHF
IUUQTXBUJSNFMPOCMPHJOUSPEVDJOHUIFTPGUXBSFUFTUJOHJDFDSFBNDPOF 4NBMM .FEJVN -BSHF खಈςετ -BSHF͔Β.FEJVN
IUUQYVOJUQBUUFSOTDPN5FTU%PVCMFIUNM ςετμϒϧࣗಈςετ༻ͷِ
IUUQYVOJUQBUUFSOTDPN5FTU%PVCMFIUNM ςετμϒϧͷྨʢY651ʣ
ςετμϒϧͷརͱҙ w ςετμϒϧͷར w ͦͦςετ͠ʹ͍͘ͷΛςετՄೳʹ͢Δ w ςετͷͱܾఆੑΛ্ͤ͞Δ w ςεταΠζΛԼ͛Δ w
ςετμϒϧͷҙ w ςετରͷ࣮ͱͷߏత݁߹͕ߴ·Γɺςετ͕੬͘ͳΓɺِ ཅੑΛট͘ w ࣗ࡞ࣗԋςετͷϦεΫ͕͋ΓɺِӄੑΛট͘
ςετμϒϧͷ৽ͨͳҙٛςεταΠζΛԼ͛ΔͨΊͷٕज़ w ςετμϒϧͷར w ͦͦςετ͠ʹ͍͘ͷΛςετՄೳʹ͢Δ w ςετͷͱܾఆੑΛ্ͤ͞Δ w ςεταΠζΛԼ͛Δ w
ςετμϒϧͷҙ w ςετରͷ࣮ͱͷߏత݁߹͕ߴ·Γɺςετ͕੬͘ͳΓɺِ ཅੑΛট͘ w ࣗ࡞ࣗԋςετͷϦεΫ͕͋ΓɺِӄੑΛট͘
IUUQYVOJUQBUUFSOTDPN5FTU%PVCMFIUNM -BSHF͔Β.FEJVN'BLF 'BLFࣗಈςετ༻ͷସ࣮ɻ %ZOBNP%#ʹର͢Δ%ZOBNP%#MPDBMMPDBLTUBDL͕දྫɻ ίϯςφͰಈ࡞ͤ͞ΒΕΕςεταΠζ͕.FEJVNʹऩ·Δɻ
IUUQTXBUJSNFMPOCMPHJOUSPEVDJOHUIFTPGUXBSFUFTUJOHJDFDSFBNDPOF 4NBMM .FEJVN -BSHF खಈςετ .FEJVN͔Β4NBMM
.FEJVN͔Β4NBMMղ༰қੑΛ্͛ɺ݁߹ɺߴڽू IUUQTXXXBNB[PODPKQEQ ςετ༰қੑΛԼ͍͛ͯΔཁૉΛബ͘Γग़ ͠ɺςετՄೳൣғΛ͘औΔ)VCCMF0CKFDU ύλʔϯ͕جຊͱͳΔ
֏͞Μᐌ͘ ςετͰ্࣭͕Βͳ͍Ͱ͢Αɻςετ͋͘·Ͱ ࣭Λ͋͛Δ͖͔͚ͬɻ࣭Λ͋͛Δͷϓϩάϥϛϯ άͰ͢ɻ͜Εେੲ͔Βͦ͏ɻ
ྑ͍୯ମςετΛߏ͢Δຊͷப IUUQTCPPLNZOBWJKQFDQSPEVDUTEFUBJMJE ୀߦ SFHSFTTJPO ʹର͢Δอޢ ϦϑΝΫλϦϯάͷੑ ਝͳϑΟʔυόοΫ
อकͷ͢͠͞ ʰ୯ମςετͷߟ͑ํ͍ํʱQ
4NBMM ʢ୯Ұϓϩηεʣ .FEJVN ʢ୯ҰϚγϯʣ -BSHF ʢ੍ͳ͠ʣ 6OJU େ͍ʹਪ ආ͚͍͕ͨ ͔ͨ͠ͳ͍ͱ͖
࠷ѱ͕ͩ Α͘ݟ͔͚Δ *OUFHSBUJPO ॻ͚ΔͳΒ ίεύྑ͠ ී௨ Ͱ͖Ε ආ͚͍ͨ && ݪཧ্ෆՄೳʹ͍͕ۙ খ͍͞γεςϜͳΒՄೳʁ খ͍͞γεςϜ ͳΒՄೳ ී௨͔ͭ $6+ʹߜΓ͍ͨ αΠζμϯઓུ ߏత ݁߹ ߴ 5FTU4J[F 5FTU4DPQF қ Օॴಛఆͷ༰қ͞
4NBMM ʢ୯Ұϓϩηεʣ .FEJVN ʢ୯ҰϚγϯʣ -BSHF ʢ੍ͳ͠ʣ 6OJU େ͍ʹਪ ආ͚͍͕ͨ ͔ͨ͠ͳ͍ͱ͖
࠷ѱ͕ͩ Α͘ݟ͔͚Δ *OUFHSBUJPO ॻ͚ΔͳΒ ίεύྑ͠ ී௨ Ͱ͖Ε ආ͚͍ͨ && ݪཧ্ෆՄೳʹ͍͕ۙ খ͍͞γεςϜͳΒՄೳʁ খ͍͞γεςϜ ͳΒՄೳ ී௨͔ͭ $6+ʹߜΓ͍ͨ αΠζμϯઓུ ߏత ݁߹ ߴ 5FTU4J[F 5FTU4DPQF қ Օॴಛఆͷ༰қ͞
ΞΠεΫϦʔϜίʔϯ͔Βϐϥϛου IUUQTXBUJSNFMPOCMPHJOUSPEVDJOHUIFTPGUXBSFUFTUJOHJDFDSFBNDPOF 4NBMM .FEJVN -BSHF खಈςετ 4NBMM .FEJVN -BSHF
4NBMM .FEJVN -BSHF ίετ ࣮ੑ ςετέʔε ߴ
ߴ ܾఆੑ ςετμϒϧͰαΠζμϯͯ͠ɺ֤αΠζΛϐϥϛουܕʹஔ͠ɺςετશମͷ৴པੑΛҡ࣋͢Δ ςετμϒϧ ςετμϒϧ ςετ༰қੑઃܭ υϝΠϯઃܭ
ࣗಈςετͷ࠷େͷޮՌʮࠜڌ͋Δࣗ৴ʯ IUUQTHJIZPKQBSUJDMFBVUPNBUFEUFTUBOEUEE
৴པੑͷߴ͍࣮ߦ݁Ռʹ ͍࣌ؒͰ౸ୡ͢Δঢ়ଶΛอͭ͜ͱͰɺ ։ൃऀʹࠜڌ͋Δࣗ৴Λ༩͑ɺ ιϑτΣΞͷΛ࣋ଓՄೳʹ͢Δ͜ͱ ࣗಈςετͷత
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠