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
25k
開発生産性の観点から考える自動テスト(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
The Clean ArchitectureがWebフロントエンドでしっくりこないのは何故か / Why The Clean Architecture does not fit with Web Frontend
twada
PRO
70
26k
組織に自動テストを書く文化を根付かせる戦略(2024冬版) / Building Automated Test Culture 2024 Winter Edition
twada
PRO
30
9.6k
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
1.8k
組織に自動テストを書く文化を根付かせる戦略(2024秋版) / Building Automated Test Culture 2024 Autumn Edition
twada
PRO
14
6.5k
これまでと違う学び方をしたら挫折せずにRustを学べた話 / Programming Rust techramen24conf LT
twada
PRO
28
27k
自動テスト実行結果の目的を整理する / Organizing objectives of automated test results
twada
PRO
14
3.3k
変更容易性と理解容易性を支える自動テスト(2024/02版) / Automated Test Knowledge from Savanna 202402 YAPC::Hiroshima edition
twada
PRO
22
14k
実録レガシーコード改善 / Working with Legacy Code: the True Record
twada
PRO
111
51k
Property-based Testing の位置付け / Intro to Property-based Testing
twada
PRO
11
6.7k
Other Decks in Programming
See All in Programming
ベクトル検索システムの気持ち
monochromegane
30
8.9k
複雑なフォームと複雑な状態管理にどう向き合うか / #newt_techtalk vol. 15
izumin5210
4
3k
AIエージェントを活用したアプリ開発手法の模索
kumamotone
1
750
フロントエンドテストの育て方
quramy
9
2.5k
WordPress Playground for Developers
iambherulal
0
120
CRE Meetup!ユーザー信頼性を支えるエンジニアリング実践例の発表資料です
tmnb
0
350
ローコードサービスの進化のためのモノレポ移行
taro28
1
330
RailsでCQRS/ESをやってみたきづき
suzukimar
2
1.5k
requirements with math
moony
0
520
Day0 初心者向けワークショップ実践!ソフトウェアテストの第一歩
satohiroyuki
0
410
本当だってば!俺もTRICK 2022に入賞してたんだってば!
jinroq
0
250
보일러플레이트 코드가 진짜 나쁜 건가요?
gaeun5744
0
370
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
30
1.1k
Navigating Team Friction
lara
184
15k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
25k
Fireside Chat
paigeccino
37
3.3k
Designing for humans not robots
tammielis
250
25k
KATA
mclloyd
29
14k
Building Applications with DynamoDB
mza
94
6.3k
A Philosophy of Restraint
colly
203
16k
Embracing the Ebb and Flow
colly
85
4.6k
Visualization
eitanlees
146
16k
Into the Great Unknown - MozCon
thekraken
36
1.7k
Producing Creativity
orderedlist
PRO
344
40k
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
৴པੑͷߴ͍࣮ߦ݁Ռʹ ͍࣌ؒͰ౸ୡ͢Δঢ়ଶΛอͭ͜ͱͰɺ ։ൃऀʹࠜڌ͋Δࣗ৴Λ༩͑ɺ ιϑτΣΞͷΛ࣋ଓՄೳʹ͢Δ͜ͱ ࣗಈςετͷత
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠