Slide 1

Slide 1 text

ʮ.BHJD1PEʯͰ ϞόΠϧΞϓϦͷ6*ςετΛ΋ͬͱ؆୯ʹ 53*%&/5 ҏ౻ ๬

Slide 2

Slide 2 text

"CPVUNF • ҏ౻ ๬ !JUP@OP[PNJ • גࣜձࣾ53*%&/5$&0 • ࣗಈςετπʔϧ։ൃྺ೥Ҏ্ • ʮ೔ຊ4FMFOJVNϢʔβʔίϛϡχςΟʯӡӦ • ஶॻ

Slide 3

Slide 3 text

ΞδΣϯμ ϞόΠϧΞϓϦ6*ςετͷ՝୊ .BHJD1PEͷ঺հ "*ͷ׆༻ ػೳ঺հ #JUSJTFͱͷ࿈ܞ ͓͢͢Ίͷ࢖͍ํ

Slide 4

Slide 4 text

.BHJD1PEͷ঺հ "*ͷ׆༻ ػೳ঺հ #JUSJTFͱͷ࿈ܞ ͓͢͢Ίͷ࢖͍ํ ϞόΠϧΞϓϦ6*ςετͷ՝୊

Slide 5

Slide 5 text

खಈ6*ςετͷ՝୊ ϦϦʔεͷͨͼʹ ಉ͡ςετ࡞ۀͷ܁Γฦ͠ ϞόΠϧΞϓϦ6*ςετͷ՝୊ ༷ʑͳ04όʔδϣϯɾ ػछͰͷಈ࡞֬ೝ テスト リリース 開発 テスト リリース 開発 テスト リリース 開発

Slide 6

Slide 6 text

ղܾࡦ ‎ 6*ςετͷࣗಈԽ ϦϦʔεͷͨͼʹ ಉ͡ςετ࡞ۀͷ܁Γฦ͠ ϞόΠϧΞϓϦ6*ςετͷ՝୊ ༷ʑͳ04όʔδϣϯ ɾػछͰͷಈ࡞֬ೝ Ұ౓ςετΛ࡞੒͢Ε͹ɺ ௿ίετͰԿճ΋࣮ࢪͰ͖Δ Ұ౓ςετΛ࡞੒͢Ε͹ɺ ৭ʑͳ؀ڥͰ࣮ߦͰ͖Δ

Slide 7

Slide 7 text

༷ʑͳςετࣗಈԽ ϞόΠϧΞϓϦ6*ςετͷ՝୊ システム全体を通しでテスト UIテストツールなどを活用 複数の部品を結合してテスト APIテストツールなどを活用 個々の関数やクラスのテスト ユニットテストツールなどを活用 E2E Test Integration Test Unit Test

Slide 8

Slide 8 text

ϞόΠϧΞϓϦ6*ࣗಈςετͷ՝୊ ༷ʑͳٕज़τϥϒϧ ϞόΠϧΞϓϦ6*ςετͷ՝୊ ςετίʔυͷཧղ "QQJVN9DPEFͷఆظߋ৽ 6*มߋ࣌ͷεΫϦϓτमਖ਼

Slide 9

Slide 9 text

ղܾࡦ ‎ .BHJD1PE ϞόΠϧΞϓϦ6*ςετͷ՝୊ ෼͔Γ΍͍͢εΫϦϓτ ΤΩεύʔτʹΑΔ҆ఆԽ౒ྗ ϝϯςφϯεෆཁͷΫϥ΢υ "*ʹΑΔࣗಈम෮

Slide 10

Slide 10 text

ϞόΠϧΞϓϦ6*ςετͷ՝୊ .BHJD1PEͷ঺հ "*ͷ׆༻ ػೳ঺հ #JUSJTFͱͷ࿈ܞ ͓͢͢Ίͷ࢖͍ํ

Slide 11

Slide 11 text

.BHJD1PE !53*%&/5*OD • 6*ςετࣗಈԽΫϥ΢υαʔϏε • ϞόΠϧΞϓϦ 8FCαΠτͷςετʹରԠ • ແྉϓϥϯ ༗ྉϓϥϯ • ར༻ऀ΋ॱௐʹ૿Ճத .BHJD1PEͷ঺հ

Slide 12

Slide 12 text

͝ར༻اۀ͞· .BHJD1PEͷ঺հ NBHJDQPEDPN

Slide 13

Slide 13 text

ϒϩά౳Ͱ΋औΓ্͍͍͛ͯͨͩͯ·͢ .BHJD1PEͷ঺հ • 6*ςετͷࣗಈԽʹ.BHJD1PEΛಋೖͨ͠࿩ • "*ࣗಈςετπʔϧ.BHJD 1PEͰɺະܦݧऀ͕ ࣗಈςετͷຽओԽʹ௅ઓͯ͠Έͨɻ • .BHJD 1PEϞόΠϧΞϓϦςετ࣮૷ͷٯҾ͖ • .BHJD 1PEΛ࢖ͬͯΈ·ͨ͠ • OPUFࣾͰͷ.BHJD 1PE׆༻ࣄྫ • .BHJD 1PE ׆༻ࣄྫ • ଓɾϊϋφͷςετࣗಈԽ • ඇϓϩάϥϚʔͰ΋ࣗಈςετ

Slide 14

Slide 14 text

ରԠ؀ڥ ςετσʔλอଘઌ .BHJD1PEͷ঺հ ςετ࣮ߦ؀ڥ Ϋϥ΢υ ϩʔΧϧ .BHJD1PE Ϋϥ΢υ ֎෦ Ϋϥ΢υ

Slide 15

Slide 15 text

σϞ .BHJD1PEͷ঺հ ςετฤूը໘ .BHJD1PE Ϋϥ΢υ୺຤

Slide 16

Slide 16 text

.BHJD1PEͷ঺հ σϞ https://www.youtube.com/watch/IrK3g-0_Ypc

Slide 17

Slide 17 text

ϞόΠϧΞϓϦ6*ςετͷ՝୊ .BHJD1PEͷ঺հ "*ͷ׆༻ ػೳ঺հ #JUSJTFͱͷ࿈ܞ ͓͢͢Ίͷ࢖͍ํ

Slide 18

Slide 18 text

"*ͷ׆༻ ೔ຊޠͷཁૉઆ໌จΛܭࢉ ςετεΫϦϓτࣗಈम෮

Slide 19

Slide 19 text

೔ຊޠͷཁૉઆ໌จ "*ͷ׆༻ r ೔ຊޠͷཁૉઆ໌จΛܭࢉ 要素説明⽂: AIロジックで計算 ⾃由に書き換え可能 システム(Appium)ロケータ: 要素ツリーから計算

Slide 20

Slide 20 text

ཁૉઆ໌จͷܭࢉʹ࢖͍ͬͯΔ৘ใ "*ͷ׆༻ r ೔ຊޠͷཁૉઆ໌จΛܭࢉ • 6*πϦʔ৘ใଐੑɺςΩετɺλά໊ɺ౳ʑ • 0$3 ը૾͔Βͷจࣈೝࣝ • σΟʔϓϥʔχϯάʹΑΔ෺ମछྨೝࣝ

Slide 21

Slide 21 text

ࣗಈम෮ ηϧϑώʔϦϯά ͱ͸ "*ͷ׆༻ r ςετεΫϦϓτࣗಈम෮ ςετର৅ը໘ͷόʔδϣϯΞοϓʹ߹Θ ͤɺ "*͕ςετεΫϦϓτΛࣗಈमਖ਼

Slide 22

Slide 22 text

.BHJD 1PEͷࣗಈम෮ σϞ "*ͷ׆༻ r ςετεΫϦϓτࣗಈम෮ • ͱ͋ΔσϞΞϓϦͷςετέʔε • JE͕ͳ͍ͨΊɺ಺෦γεςϜ໊ʹ͸จࣈྻʮొ࿥ʯΛ࢖༻

Slide 23

Slide 23 text

.BHJD1PEͷࣗಈम෮ σϞ • ͋Δ೔ɺʮొ࿥ʯ͕ʮ͜ͷ಺༰Ͱొ࿥ʯʹมߋ͞Εͨ • ͜ͷΞϓϦͰςετΛ࣮ߦ͢Δͱɺςετࣦഊͯ͠͠·͏͕ "*ͷ׆༻ r ςετεΫϦϓτࣗಈम෮

Slide 24

Slide 24 text

"*ͷ׆༻ r ςετεΫϦϓτࣗಈम෮ .BHJD1PEͷࣗಈम෮ σϞ https://www.youtube.com/watch/WcQ9lBatJpg

Slide 25

Slide 25 text

• ςετ࡞੒࣌ͱ࣮ߦ࣌ͷ6*πϦʔΛൺֱͯ͠ɺྨࣅ౓͕ߴ͍ ཁૉ͕͋Ε͹ར༻ ࣗಈम෮ͷ࢓૊Έ "*ͷ׆༻ r ςετεΫϦϓτࣗಈम෮ テスト作成時ロケータ テスト実⾏時UI テスト作成時UI 修復後の新ロケータ

Slide 26

Slide 26 text

• ཁૉͷ֤छଐੑɺҐஔɺଞͷཁૉͱͷ਌ࢠؔ܎ɺ౳ʑ • 0$3݁Ռ • σΟʔϓϥʔχϯάʹΑΔ෺ମछྨೝࣝ ྨࣅ౓ൺֱͷج४ "*ͷ׆༻ r ςετεΫϦϓτࣗಈम෮

Slide 27

Slide 27 text

ϞόΠϧΞϓϦ6*ςετͷ՝୊ .BHJD1PEͷ঺հ "*ͷ׆༻ ػೳ঺հ #JUSJTFͱͷ࿈ܞ ͓͢͢Ίͷ࢖͍ํ

Slide 28

Slide 28 text

Ϋϥ΢υγϛϡϨʔλ ػೳ঺հ • ϩʔΧϧ؀ڥΑΓ҆ఆɾߴ଎ • J04ɺ"OESPJEʹରԠ

Slide 29

Slide 29 text

Ϋϥ΢υ࣮ػ • #SPXTFS4UBDL 4BVDF-BCT 3FNPUF5FTU,JU )FBE4QJO ͱ࿈ܞՄೳ ֎෦αʔϏεͷܖ໿͕ඞཁ • աڈػछ͔Β࠷৽ػछ·Ͱ๛෋ͳ඼ἧ͑ ػೳ঺հ SauceLabs Remote TestKit

Slide 30

Slide 30 text

Ϋϩε୺຤ςετ • ৭ʑͳόʔδϣϯػछͷ૊Έ߹ΘͤͰฒྻ௚ྻ࣮ߦ ػೳ঺հ

Slide 31

Slide 31 text

Ϋϩε୺຤ςετ • ςετϑϩʔΛ෼ׂͯ͠ฒྻ࣮ߦ͠ɺߴ଎Խ͢Δ͜ͱ΋Մೳ ػೳ঺հ

Slide 32

Slide 32 text

֤छ୺຤ૢ࡞ • ͞·͟·ͳίϚϯυΛ༻ҙ ػೳ঺հ

Slide 33

Slide 33 text

֤छ୺຤ૢ࡞ ػೳ঺հ 画像アップロード ピッカー操作 端末回転 スワイプ

Slide 34

Slide 34 text

8FC7JFXαϙʔτ • $PSEPWBΞϓϦ .POBDBΞϓϦʹ΋ରԠ ػೳ঺հ

Slide 35

Slide 35 text

஋νΣοΫ ػೳ঺հ • ༷ʑͳ৚݅Ͱظ଴஋νΣοΫ

Slide 36

Slide 36 text

৚݅෼ذ ػೳ঺հ • ʮμΠΞϩά͕ग़ͨͱ͖͚ͩλοϓ͢ΔʯͳͲͷ༻్ʹ

Slide 37

Slide 37 text

ڞ༗εςοϓ ػೳ঺հ • ܁Γฦ͠ར༻͢Δॲཧ͸ڞ௨Խ

Slide 38

Slide 38 text

σʔλۦಈςετ ػೳ঺հ • ύϥϝʔλΛม͑ͯɺಉ͡ςετΛԿ౓΋࣮ߦ

Slide 39

Slide 39 text

ϖʔδը૾Λෳ਺ςετͰڞ༗ ػೳ঺հ • 6*ϨϙδτϦɺ6*ϚοϓͷΑ͏ʹ࢖͑Δ

Slide 40

Slide 40 text

ϩέʔλมߋ ػೳ঺հ • ༷ʑͳީิ͔Β޷͖ͳ΋ͷΛબ୒Մೳ

Slide 41

Slide 41 text

ม਺ ػೳ঺հ • ը໘্ͷ஋ͳͲΛอଘͯ͠ޙଓॲཧʹར༻Մೳ

Slide 42

Slide 42 text

ڞ༗ม਺ ػೳ঺հ • શςετͰڞ༗͞ΕΔύϥϝʔλ

Slide 43

Slide 43 text

γʔΫϨοτม਺ ػೳ঺հ • ϩάʹग़ͨ͘͠ͳ͍஋͸ϚεΩϯά

Slide 44

Slide 44 text

೔෇ม਺ ػೳ঺հ • ʮ໌೔ͷ೔෇ΛೖྗʯͳͲͷ༻్ʹ

Slide 45

Slide 45 text

γεςϜม਺ ػೳ঺հ • ಛఆͷ04Ͱ͚ͩߦ͍͍ͨॲཧͳͲʹ

Slide 46

Slide 46 text

)551ϦΫΤετૹ৴ ػೳ঺հ • %#ͷ஋νΣοΫ΍σʔλΫϦΞͳͲʹ

Slide 47

Slide 47 text

&NBJMͷςετ ػೳ঺հ • ʮ)551ϦΫΤετૹ৴ʯͱʮਖ਼نදݱϚονʯͷ૊Έ߹Θͤ - (NBJMʹૹ৴͞Εͨ಺༰ͷνΣοΫ - (NBJMʹૹ৴͞ΕͨϦϯΫΛΫϦοΫ • IUUQTXXXUSJEFOURBDPNNBHJDQPEFNBJMUFTUJOH

Slide 48

Slide 48 text

ςετέʔεϥϕϧ ػೳ঺հ • ςετʹϥϕϧΛ෇༩Մೳ • ϥϕϧΛࢦఆ PSআ֎ ͯ͠ςετҰׅ࣮ߦՄೳ

Slide 49

Slide 49 text

εέδϡʔϧ࣮ߦ ػೳ঺հ • ຊ൪؀ڥͷ؂ࢹͳͲʹ

Slide 50

Slide 50 text

ίϝϯτ ػೳ঺հ

Slide 51

Slide 51 text

ίϐʔɾషΓ෇͚ ػೳ঺հ

Slide 52

Slide 52 text

ฤूΛݩʹ໭͢ɾ΍Γ௚͢ ػೳ঺հ

Slide 53

Slide 53 text

෦෼ςετ࣮ߦ ػೳ঺հ

Slide 54

Slide 54 text

ςετ݁Ռը໘Ωϟϓνϟμ΢ϯϩʔυ ػೳ঺հ • ΤϏσϯεऔಘ΍ը૾ൺֱʹ

Slide 55

Slide 55 text

ը૾ࠩ෼ൺֱϨϙʔτ ػೳ঺հ • ը໘Ωϟϓνϟμ΢ϯϩʔυͱSFHDMJͷ૊Έ߹ΘͤͰ࣮ݱ • IUUQTCMPHUSJEFOURBDPNSFHDMJNBHJDQPEFF

Slide 56

Slide 56 text

ϝϯόʔݖݶ؅ཧ ػೳ঺հ • ϓϩδΣΫτ୯ҐͰͷݖݶઃఆ͕Մೳ

Slide 57

Slide 57 text

઀ଓݩ*1੍ݶ ػೳ঺հ • ΤϯλʔϓϥΠζϓϥϯͷػೳ

Slide 58

Slide 58 text

4".-γϯάϧαΠϯΦϯ ػೳ঺հ • ΤϯλʔϓϥΠζϓϥϯͷػೳ

Slide 59

Slide 59 text

ӳޠར༻΋Մೳ ػೳ঺հ • ւ֎Ͱ΋࢖ΘΕ͍ͯ·͢

Slide 60

Slide 60 text

ϞόΠϧΞϓϦ6*ςετͷ՝୊ .BHJD1PEͷ঺հ "*ͷ׆༻ ػೳ঺հ #JUSJTFͱͷ࿈ܞ ͓͢͢Ίͷ࢖͍ํ

Slide 61

Slide 61 text

#JUSJTF͔Βͷ.BHJD 1PEςετ࣮ߦ #JUSJTFͱͷ࿈ܞ • ʮ.BHJD1PEʯεςοϓͰ(6*ઃఆՄೳ

Slide 62

Slide 62 text

Ϗϧυ͔Βςετ·Ͱϒϥ΢β্Ͱ׬݁ #JUSJTFͱͷ࿈ܞ Bitriseの GUIで アプリのビルド設定 Magic Podの GUIで テスト作成 Magic Podステップの GUIで テスト実⾏設定

Slide 63

Slide 63 text

$*ͷྲྀΕ .BHJD1PEΫϥ΢υ্ͷςετ #JUSJTFͱͷ࿈ܞ γϛϡϨʔλɾ ΤϛϡϨʔλ༻ͷ BQQBQLΛϏϧυ ʮ.BHJD1PEʯ εςοϓͰ ςετ࣮ߦ .BHJD1PEͷ Ϋϥ΢υͰ ςετ࣮ߦ

Slide 64

Slide 64 text

$*ͷྲྀΕ ֎෦Ϋϥ΢υ্ͷςετ #JUSJTFͱͷ࿈ܞ ࣮ػ༻ͷ JQBBQLΛϏϧυ ʮ.BHJD1PEʯ εςοϓͰ ςετ࣮ߦ 4BVDF-BCTɾ #SPXTFS4UBDL౳Ͱ ςετ࣮ߦ

Slide 65

Slide 65 text

ৄ͍͠ઃఆํ๏ #JUSJTFͱͷ࿈ܞ • J04 - IUUQTCMPHUSJEFOURBDPNCJUSJTFNBHJDQPE • "OESPJE - IUUQTCMPHUSJEFOURBDPNCJUSJTFNBHJDQPEBOESPJE

Slide 66

Slide 66 text

ϞόΠϧΞϓϦ6*ςετͷ՝୊ .BHJD1PEͷ঺հ "*ͷ׆༻ ػೳ঺հ #JUSJTFͱͷ࿈ܞ ͓͢͢Ίͷ࢖͍ํ

Slide 67

Slide 67 text

͓͢͢Ίͷ࢖͍ํ ᶃϦϦʔεલखಈςετͷࣗಈԽ ᶄϚϧν୺຤ςετ ᶅ$* ᶆຊ൪؀ڥ؂ࢹ ͓͢͢Ίͷ࢖͍ํ

Slide 68

Slide 68 text

ᶃϦϦʔεલखಈςετͷࣗಈԽ ͓͢͢Ίͷ࢖͍ํ • ݄ճҎ্ͷස౓Ͱςετ͢Δ৔߹ʹɺಛʹ༗ޮ • ͓͢͢ΊͷࣗಈԽ༏ઌॱҐ まずは正常系を カバー 運⽤してみて、 課題を洗い出す 異常系は 正常系のあと

Slide 69

Slide 69 text

ᶄϚϧν୺຤ςετ • ʮҰׅ࣮ߦςετʯΛ͞·͟·ͳύλʔϯͰ࣮ࢪ OSバージョン iPhone/iPad 多⾔語テスト OSバージョン メーカー iOS Android 共通 ͓͢͢Ίͷ࢖͍ํ

Slide 70

Slide 70 text

ᶅ$* ͓͢͢Ίͷ࢖͍ํ • ຖ൩ςετ࣮ߦ PS։ൃςετ؀ڥΛߋ৽͢Δͨͼʹ࣮ߦ • ෆ۩߹ʹ͙͢ʹؾ෇͚ΔͷͰɺ։ൃ͕ޮ཰తʹ - ͕࣌ؒܦͭͱɺࢥ͍ग़͢ͷ͕େม - ଟ਺ͷ։ൃऀͷमਖ਼͕ೖͬͨޙͩͱɺݪҼಛఆ͕େม

Slide 71

Slide 71 text

ᶅ$* ͓͢͢Ίͷ࢖͍ํ ࠷৽ιʔείʔυͰ ΞϓϦΛϏϧυ ʮ.BHJD1PEʯεςοϓͰ ςετ࣮ߦ Ϋϥ΢υͰ ςετ࣮ߦ

Slide 72

Slide 72 text

ᶆຊ൪؂ࢹ ͓͢͢Ίͷ࢖͍ํ • ༧ظͤ͵໰୊ʹΑΓຊ൪؀ڥͰ໰୊͕ى͖͍ͯͳ͍͔؂ࢹ - ϝϞϦɺσΟεΫɺωοτϫʔΫɺαʔόμ΢ϯɺखಈ࡞ۀϛεɺFUD • ຊ൪؀ڥͱݕূ؀ڥͰ͸ɺσʔλɾαʔόઃఆɾΠϯϑϥ͕ҟ ͳΔͷͰɺຊ൪Ͱ͚ͩ໰୊͕ى͜Δ͜ͱ΋͋Δ

Slide 73

Slide 73 text

ͥͻ͝׆༻͍ͩ͘͞ʂ ᶃϦϦʔεલखಈςετͷࣗಈԽ ᶄϚϧν୺຤ςετ ᶅ$* ᶆຊ൪؀ڥ؂ࢹ ͓͢͢Ίͷ࢖͍ํ

Slide 74

Slide 74 text

͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ