Upgrade to Pro — share decks privately, control downloads, hide ads and more …

COOKPAD and Test Automation

COOKPAD and Test Automation

ソフトウェアテストシンポジウム 2014 東北(JaSST'14 Tohoku)
2014年5月23日(金)

Naoto Takai

May 25, 2014
Tweet

More Decks by Naoto Takai

Other Decks in Programming

Transcript

  1. ݄ؒϢχʔΫϒϥ΢β਺ ສ  ສ  ສ  ສ  ສ

     ສ ݄ ݄ ݄ ݄ ݄ ݄ ݄ ݄ ݄ ݄ ݄ ݄ ݄ 1$ ϞόΠϧ  ສ6# ʢ೥݄ظୈ࢛൒ظܾࢉิ଍આ໌ࢿྉʣ
  2. ౤ߘϨγϐ਺ ສ ສ ສ ສ ສ ສ ສ ݄ ݄

    ݄ ݄ ݄ ݄ ݄ Ϩγϐ਺ ສ඼ ʢ೥݄ظୈ࢛൒ظܾࢉิ଍આ໌ࢿྉʣ
  3. ΫοΫύουͷϢʔβʔ உੑ  ঁੑ  ঁੑ உੑ ੑผ ୅Ҏ্ 

    ୅  ୅  ୅  ୅ҎԼ  ୅ҎԼ ୅ ୅ ୅ ୅Ҏ্ ೥୅ʢঁੑʣ ʢ೥݄࣌఺ʣ
  4. . . .  .  . 2 2 2

    2 2 2 2 2 2 2 2 2 2 2 2 ձһࣄۀ ޿ࠂࣄۀ ͦͷଞ ࢛൒ظച্ߴ  ඦສԁʢ࿈݁ʣ ʢ೥݄ظୈ࢛൒ظܾࢉิ଍આ໌ࢿྉʣ
  5. ΞϓϦέʔγϣϯن໛ʢ8FCʣ w Ϟσϧɹɹɹɹɹɹɹʜ Ϋϥε w ίϯτϩʔϥʔɹɹɹʜΫϥε w ϏϡʔςϯϓϨʔτɹʜ ϑΝΠϧ w

    ϧʔςΟϯάఆٛɹɹʜ ߦ w 34QFD&YBNQMF਺ɹɹʜ ݸ w σϓϩΠճ਺ɹɹɹɹʜճҎ্ʗ೔ ʢ೥݄೔࣌఺ʣ
  6. ̫ࣈϞσϧͱ੹೚෼ք఺ʢ༨ஊʣ ൃ஫ଆൣғ ཁ݅ఆٛ جຊઃܭ ৄࡉઃܭ ࣮૷ɾ୯ମςετ ݁߹ςετ γεςϜςετ ड͚ೖΕςετ اը

    ධՁ डୗଆൣғ डୗ։ൃͰଥ౰ੑ֬ೝ͕ ࿩୊ʹͳΒͳ͍ཧ༝ ਖ਼֬ʹ͸ཁ݅ఆٛɾड͚ೖ Εςετ͸ൃ஫ଆ੹೚
  7. σϓϩΠϝϯτύΠϓϥΠϯ ੒Ռ෺ϦϙδτϦ όʔδϣϯίϯτϩʔϧ ιʔείʔυ ઃఆ ίϛοτεςʔδ ड͚ೖΕεςʔδ ड͚ೖΕςετ ؀ڥઃఆɺσϓϩΠɺ εϞʔΫςετ

    ੑೳςετ ؀ڥઃఆɺσϓϩΠɺ εϞʔΫςετ ຊ൪؀ڥ ؀ڥઃఆɺσϓϩΠɺ εϞʔΫςετ ίϯύΠϧ ίϛοτςετ ੒Ռ෺࡞੒ ίʔυղੳ ؀ڥઃఆ σϓϩΠ εϞʔΫςετ ड͚ೖΕςετ ઃఆ +F[)VNCMFɺ%BWJE'BSMFZʰܧଓతσϦόϦʔʱ
  8. Developer Machine Redis Shared Development MySQL EC2 Ruby on Rails

    memcached Remote Spec Workers remote_spec worker remote_spec worker  GitHub Enterprise LAN Tokyo Tyrant Development App Server push rspec deploy HipChat ϩʔΧϧͷ։ൃ؀ڥ
  9. 34QFDʹΑΔςετ describe SymbolStack do ... context 'when stack is empty'

    do subject(:empty_stack) { SymbolStack.new } describe '#size' do it { expect(empty_stack.size).to eq 0 } end
  10. $BQZCBSBʹΑΔςετ feature 'User login' do scenario 'successful login' do visit

    login_path fill_in 'Login', with: '[email protected]' fill_in 'Password', with: 'password' click_link 'Submit' expect(current_path).to root_path end
  11. LAN EC2 CI Server Git Repository Production Test HipChat tag

    pull notify deploy Development DB schema Remote Spec distribute Git Repository clone pusher service hook pull push Developer merge ιʔείʔυͷྲྀΕ
  12. ίʔυϨϏϡʔ Team Pull Request Owner Developer Developer review open merge

    review ίʔυϨϏϡʔ͸νʔϜ୯ҐͰߦͳ͏͕ɺ શһ͕ϨϏϡʔ͢Δ͜ͱ΋Ͱ͖Δɻ
  13. Repository Product Support Product Manager Issue Developer UI/UX Designer Pull

    Request file file review open open (JU)VC&OUFSQSJTFͷར༻ ΤϯδχΞҎ֎ʹ΋σβΠφʔ৬ɺσΟϨ Ϋλʔ৬ɺαϙʔτ৬ͳͲ
  14. LAN EC2 CI Server Git Repository Production Test HipChat tag

    pull notify deploy Development DB schema Remote Spec distribute Git Repository clone pusher service hook pull push Developer merge ιʔείʔυͷྲྀΕ
  15. 3334QFDͷಛ௃  εϙοτΠϯελϯεΛར༻  ϓϩηεఀࢭ͔Βͷࣗಈ෮ؼ  ࣦഊͨ͠ςετͷࣗಈ࠶࣮ߦ  ςετ࣮ߦॱংͷ࠷దԽ 

    ௕͍ςετͷ౤ػత࣮ߦ  Φʔϓϯιʔε IUUQTHJUIVCDPNDPPLQBESSSTQFDCMPCNBTUFS%&4*(/NE
  16. Master Slave Worker Slave Slave Worker ʜ ʜ DB 3334QFDͷߏ੒

    &YBNQMF਺ʜ໿  εϨʔϒ਺ʜ໿୆ ϫʔΧʔ਺ʜ໿ฒྻ ࣮ߦ࣌ؒɹʜ໿෼