$30 off During Our Annual Pro Sale. View Details »

グーペのE2Eテスト運用事情

hypermkt
October 27, 2016

 グーペのE2Eテスト運用事情

hypermkt

October 27, 2016
Tweet

More Decks by hypermkt

Other Decks in Technology

Transcript

  1. όʔνʔ(.01&1"#0JOD
    ʲϖύϘºϓϨΠυʳ5FDI.FFUVQʙࣗಈςετɾ$*ฤ
    άʔϖͷ&&ςετӡ༻ࣄ৘

    View Slide

  2. ࣗݾ঺հCZ1)16OJU
    class MeTest extends PHPUnit_Framework_TestCase
    {
    protected $me;
    public function setUp()
    {
    $this->me = new Me();
    }
    public function testNickname_ReturnMyNickName_WhenValidPerson()
    {
    $this->assertEquals('όʔνʔ', $this->me->nickname());
    }
    public function testCompany_ReturnMyCompanyName_WhenValidPerson()
    {
    $this->assertEquals('GMO ϖύϘ', $this->me->company());
    }
    public function testJob_ReturnMyJob_WhenValidPerson()
    {
    $this->assertEquals('αʔόʔαΠυΤϯδχΞ', $this->me->job());
    }
    }

    View Slide

  3. ࣗݾ঺հCZ1)16OJU
    $ vendor/bin/phpunit tests/MeTest.php
    PHPUnit 5.4.8 by Sebastian Bergmann and contributors.
    ... 3 / 3 (100%)
    Time: 45 ms, Memory: 3.00MB
    OK (3 tests, 3 assertions)

    View Slide

  4. ϗʔϜϖʔδ࡞੒αʔϏεʮάʔϖʯ
    IUUQTHPPQFKQ

    View Slide

  5. &&ςετ
    ࠓ೔͓࿩͍ͨ͜͠ͱ͸

    View Slide

  6. άʔϖςετίʔυঢ়گ
    wϢχοτςετɺ&&ςετ͸ແ͔ͬͨ
    wਓһ૿ՃɺϏδωεͷ֦େʹ൐͍ΞϓϦέʔγϣϯͷ҆ఆੑΛ୲อ͢ΔͨΊɺ
    ςετίʔυͷ੔උ͕ٸ຿ͱͳͬͨ
    w։ൃνʔϜϝϯόʔʹςετίʔυͷඞཁੑͱ࣮૷ํ๏Λڞ༗
    wϢχοτςετ 1)16OJU
    &&ςετͷಋೖͱςετίʔυͷ౎౓௥Ճ
    w·ͩ·ͩςετέʔε͸ѹ౗తʹ଍Γͳ͍͕ɺܧଓతʹ૿͍͑ͯΔ
    ೥൒લ

    View Slide

  7. &&ςετͱ͸
    wΤϯυπʔΤϯυςετ
    w8FCαΠτ΍ΞϓϦέʔγϣϯͷʮ։͔࢝Βऴྃ·Ͱʯ͕ظ଴௨Γʹಈ࡞͢
    Δ͔Λςετ͢Δ͜ͱ

    View Slide

  8. ظ଴௨Γʹಈ࡞͢Δͱ͸ʁ
    ϩάΠϯͯ͠ ͓஌Βͤߋ৽ը໘Λೖྗͯ͠

    View Slide

  9. ظ଴௨Γʹಈ࡞͢Δͱ͸ʁ
    ొ࿥ϘλϯΛԡ͢ͱ
    ϝοηʔδ͕දࣔ͞Εͯ
    ొ࿥͓ͨ͠஌Β͕ͤ
    දࣔ͞Ε͍ͯΔ͜ͱ

    View Slide

  10. Α͘खಈ֬ೝ͍ͯ͠Δ͚Ͳ
    मਖ਼ͷ౓ʹ֬ೝ͢Δͷ͸खؒͩɾɾɾ

    View Slide

  11. ͦ͜Ͱ&&ςετͷग़൪ͩʂ

    View Slide

  12. άʔϖͷ&&ӡ༻ࣄ৘

    View Slide

  13. γεςϜߏ੒

    View Slide

  14. &&ςετCZ+FOLJOT
    ࣾ಺։ൃ؀ڥʹσϓϩΠ
    +FOLJOT"1*ʹ௨஌
    &&ςετͷδϣϒΛ࣮ߦ
    ݁ՌΛ௨஌

    View Slide

  15. &&ςετϛυϧ΢ΣΞ؀ڥ
    3VCZ੡ςετϑϨʔϜϫʔΫ
    8FCΞϓϦέʔγϣϯͷ
    ςετϑϨʔϜϫʔΫ
    $BQZCBSB༻1IBOUPN+4υϥΠόʔ
    )FBEMFTT8FCLJUϕʔεϒϥ΢β

    ʢཁ͸ը໘ແ͠ͷίϚϯυϕʔεϒϥ΢βʣ

    View Slide

  16. άʔϖ&&ςετͷಛ௃
    wࣾ಺؀ڥαʔόʔ΁σϓϩΠ࣌ʹɺࣾ಺։ൃ؀ڥαʔόʔʹରͯ͠&&ςετ
    Λ࣮ߦ͍ͯ͠Δ
    wσβΠφʔ΋ར༻͍ͯ͠Δ

    View Slide

  17. &&ςετͰԿΛ֬ೝ͍ͯ͠Δ͔
    ਖ਼ৗӾཡग़དྷΔ͔
    ࢓༷௨Γʹಈ࡞͍ͯ͠Δ͔

    View Slide

  18. ਖ਼ৗӾཡςετ

    View Slide

  19. ਖ਼ৗӾཡςετ
    wԿΛ΍Δͷ͔
    wશϖʔδ͕0,͔ͭΤϥʔදࣔͳ͘ਖ਼ৗʹӾཡͰ͖Δ͔
    wͳͥ΍Δͷ͔
    wςετෆ଍ͳঢ়گԼʹ͓͍ͯɺશϖʔδ͕ઈରʹਖ਼ৗʹಈ͘อূ͸ແ͍
    w࣮૷ίετ
    w࣮૷͕ͱʹ͔͘؆୯ʂ

    View Slide

  20. ࣮૷ྫʣ0,ຢ͸1)1Τϥʔແ͠Λ֬ೝ͢Δ
    ˞্ه&&ςετ͸ɺ1)1ΤϥʔɾܯࠂΛද͍ࣔͤͯ͞Δࣾ಺։ൃ؀ڥΛલఏͱ͍ͯ͠·͢ɻ
    SFRVJSFTQFD@IFMQFS


    TIBSFE@FYBNQMFT@GPSDPSSFDUSFTQPOTFEPcVSJc

    CFGPSF\WJTJUVSJ^


    JU\VSJ^͕0,Ͱਖ਼ৗʹӾཡͰ͖ΔEP

    FYQFDU QBHFTUBUVT@DPEF
    UPCF

    FOE


    JU\VSJ^ʹ1)1ͷܯࠂ͕ແ͍EP

    FYQFDU QBHF
    UPIBWF@OP@DPOUFOU 8BSOJOH

    FOE


    JU\VSJ^ʹ1)1ͷΤϥʔ͕ແ͍EP

    FYQFDU QBHF
    UPIBWF@OP@DPOUFOU 'BUBMFSSPS

    FOE

    FOE
    SFRVJSFTQFD@IFMQFS


    EFTDSJCFਖ਼ৗӾཡςετEP

    X 


    IPHF@QBHF

    GVHB@QBHF


    FBDIEPcQBHFc

    JU@CFIBWFT@MJLFDPSSFDUSFTQPOTF QBHF

    FOE

    FOE
    TVQQPSUTSFTQPOTFSC GFBUVSFTWBMJE@TQFDSC

    View Slide

  21. ࢓༷ςετ

    View Slide

  22. ࢓༷ςετ
    wԿΛ΍Δͷ͔
    wػೳ͕࢓༷௨Γʹಈ࡞͢Δ͜ͱΛ֬ೝ
    wͳͥ΍Δͷ͔
    wखಈͰؤுΓͨ͘ͳ͍ͷͰɾɾɾ
    wݕূ࣌ؒΛ୹ͯ͘͠ɺ͓٬༷ʹϝϦοτͷ͋Δ࣮૷ʹ࣌ؒΛճ͍ͨ͠
    w࣮૷ίετ
    wେมɾɾɾɻશػೳ͕ཧ૝Ͱ͸͋Δ͕ɺΫϦςΟΧϧͳՕॴ༏ઌͰରԠ͢
    Δͱྑ͍ɻ

    View Slide

  23. ࣮૷ྫʣ࢓༷ςετ
    EFTDSJCF͓஌Β͕ͤ౤ߘͰ͖Δ KTUSVFEP

    CFGPSFEP

    JOGPʹΞΫηε

    WJTJUJOGP


    JOQVUλάͷOBNFUJUMFʹλΠτϧΛೖྗ͢Δ

    pMM@JOUJUMF XJUI໊݅ςετ


    UFYUBSFBͷOBNFlCPEZzʹຊจΛೖྗ͢Δ

    pMM@JOCPEZ XJUIຊจςετ


    ϘλϯͷWBMVF஋ΛࢦఆͰ͖·͢

    DMJDL@CVUUPOొ࿥

    FOE


    CFGPSFʙEPͷಈ࡞͕શͯ׬ྃͨ͠ޙʹࢦఆͷจࣈྻ͕ը໘্ʹදࣔ͞Ε͍ͯΔ͔

    JU\FYQFDU QBHF
    UPIBWF@DPOUFOU͓஌ΒͤΛ౤ߘ͠·ͨ͠^

    FOE

    View Slide

  24. ՝୊

    View Slide

  25. ՝୊
    w+FOLJOTαʔόʔͱຊ൪αʔόʔͱͷϛυϧ΢ΣΞͷόʔδϣϯဃ཭
    w+FOLJOTδϣϒͷઃఆ͕ίʔυԽ͞Ε͓ͯΒͣཤྺ͕ແ͍
    wʲݱࡏਐߦதʳ%SPOF%PDLFS্Ͱͷ&&ςετ؀ڥͷߏங

    View Slide

  26. ·ͱΊ

    View Slide

  27. ·ͱΊ
    w&&ςετͰѹ౗త҆৺ײͱ࣌ؒઅ໿͕ಘΒΕͨ
    w͍͖ͳΓશϖʔδ෼ͷ࢓༷ςετΛಋೖ͢Δͷ͸େมͳͷͰɺਖ਼ৗӾཡςετ
    ͔Β࢝ΊͯݟΔͷ͕Φεεϝ
    wϢχοτςετෆ଍ͳ؀ڥͰ΋&&ςετͰϦϑΝΫλϦϯά͕Մೳʹ

    View Slide

  28. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ

    View Slide