Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
32
22k
開発生産性の観点から考える自動テスト(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
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
1.4k
組織に自動テストを書く文化を根付かせる戦略(2024秋版) / Building Automated Test Culture 2024 Autumn Edition
twada
PRO
14
5.6k
これまでと違う学び方をしたら挫折せずにRustを学べた話 / Programming Rust techramen24conf LT
twada
PRO
26
18k
自動テスト実行結果の目的を整理する / Organizing objectives of automated test results
twada
PRO
14
3.1k
変更容易性と理解容易性を支える自動テスト(2024/02版) / Automated Test Knowledge from Savanna 202402 YAPC::Hiroshima edition
twada
PRO
22
12k
実録レガシーコード改善 / Working with Legacy Code: the True Record
twada
PRO
98
42k
Property-based Testing の位置付け / Intro to Property-based Testing
twada
PRO
11
6.3k
Second-System Syndrome: A tale of power-assert
twada
PRO
10
4.8k
技術選定の審美眼(2023年版) / Understanding the Spiral of Technologies 2023 edition
twada
PRO
119
41k
Other Decks in Programming
See All in Programming
N.E.X.T LEVEL
pluu
2
270
Leverage LLMs in Java with LangChain4j and Quarkus
hollycummins
0
180
Thoughts and experiences on Rust and TypeScript
unvalley
2
220
WebAssembly Unleashed: Powering Server-Side Applications
chrisft25
0
2.1k
Refactor your code - refactor yourself
xosofox
1
170
React + Tauriでデスクトップアプリ開発に入門してみた
ynishimura0922
0
210
イマのCSSでできる インタラクション最前線 + CSS最新情報
clockmaker
5
3.8k
As an Engineers, let's build the CRM system via LINE Official Account 2.0
clonn
1
640
HTTP compression in PHP and Symfony apps
dunglas
2
1.5k
Recoilを剥がしている話
kirik
0
1k
カンファレンスの「アレ」Webでなんとかしませんか? / Conference “thing” Why don't you do something about it on the Web?
dero1to
2
160
Symfony Mapper Component
soyuka
2
560
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Adopting Sorbet at Scale
ufuk
73
9.1k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Building an army of robots
kneath
302
43k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Bash Introduction
62gerente
608
210k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Code Reviewing Like a Champion
maltzj
520
39k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
260
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
৴པੑͷߴ͍࣮ߦ݁Ռʹ ͍࣌ؒͰ౸ୡ͢Δঢ়ଶΛอͭ͜ͱͰɺ ։ൃऀʹࠜڌ͋Δࣗ৴Λ༩͑ɺ ιϑτΣΞͷΛ࣋ଓՄೳʹ͢Δ͜ͱ ࣗಈςετͷత
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠