Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
!エンジニアのトークナイト
クックパッドにおけるテストエンジニアのあり方
•Name
‣ 松尾和昭
•Job
‣ テストエンジニア
•accounts
‣ Twitter: @Kazu_cocoa
‣ GitHub: KazuCocoa
∼ 2011 広島市立大学にて情報科学を専攻
映画『マトリックス』の影響で情報系を目指す
研究: 暗号系、分散コンピューティング系
教授の影響: QA/テストする人の知識/技術の広さ
ACCESS入社
ソフトウェアのQA/テストを志向して入社
...
何をする役割?
QA
オペレーター
テスター
テストエンジニア
QAエンジニア
• 手順書に沿って何かを実施する人?
• 何をテストするか、から考える人?
• Chekingを自動化する人?
• Testingする人?
• Testingまで自動化する人?
• 成果物に対して指標を計測し、ソフトウェアを評価する人?
Test Engineer @Google
(not software engineer in test)
•"Test Engineers at Google aren't manual testers."
•Jobs on Linkedin...
Senior Software Engineer @Netflix
Tools, Test and Reliability Engineering
•What you will do:
•Develop tools and architect n...
SWET @DeNA
•具体的な業務内容
•Webアプリ・WebAPIの自動テストコード作成
•スマートフォンアプリの自動テストコード作成
•テスト自動化ツールおよび基盤環境の開発・運用
•自動テスト実施計画の策定、自動テスト項目の作成
•作成...
テストエンジニア @Cookpad
•ソフトウェアテストに関する知識と実務経験
•Android/iOS/Ruby on Railsやそれに類するシステムの開発経験、もしくはそ
れらに対するテスト実装経験
•RSpec、JUnit、Seleni...
Qualityって?
品質とは誰かにとっての価値である
ジェラルド・ワインバーグ
Quality Software Management: Systems Thinking v. 1
あなたのビジネスは
何を生業としていますか?
製造業から発展した方面の品質
•自動車などの製造物
•物理的に壊れないことが購入者からしたら大事な要素
•腐食、経年劣化、環境による破壊など、考慮すべきことが多い
•自然界を基準に計測可能
•品質管理部などによる、計測によるQuality As...
受託開発からの品質
•納品のために検査的なテストを行う
•合意形成した指標を満足している、など
•顧客に数値を示す必要があるため
サービス業からの品質
•利用時の品質とか、そこらへんは大きな要素を占める
•ISO 25000とか、ISO 9241、ITILとか…
•対人によって品質が評価されることが多い
•品質保証?(Quality Assurance?)
•クックパッド...
Qualityで欲しているものは違う
サービス開発における品質の向上
価値検証を しっかり素早く できるようにし、
改善を繰り返して品質を 向上 させていく
サービスの開発速度を高めるための
TDD/BDD、自動化されたテスト
•ソフトウエアの内部品質を高める
•動作する綺麗な設計/コード
•TDDのサイクル => Red > Green > Refactor
•Checkingの拡充による安定した...
サービスの開発速度を高めるために
補完されるテスト
•不具合発生からの調査にかける労力を減らすための、効
率的なテストコードの拡充
•一連の流れの中で、最短で道を駆け抜けるためのテスト
設計/実施など
サービスの開発速度を高めるための
組織
サービス/組織の成長と専業化
•サービスや組織の発展に伴い進行する専業化
•Quality Engineer
•Software Engineer in Test
•Test Engineer
•AB Test Engineer
•Produc...
クックパッドにおけるテストエンジニア、
テストの形
•今
•サービスの品質を継続して向上させるための土台作り
•組織/プロセス改善
•Web/Mobileのテスト/テスト環境の改善
•組織の潤滑油
•発展
•サービスの開発、発展、向上させるため...
Upcoming SlideShare
Loading in …5
×

20151021 cookpad talk_test_engineer

14,928 views

Published on

presentation at http://connpass.com/event/21247/

Published in: Technology
  • Be the first to comment

20151021 cookpad talk_test_engineer

  1. 1. !エンジニアのトークナイト クックパッドにおけるテストエンジニアのあり方
  2. 2. •Name ‣ 松尾和昭 •Job ‣ テストエンジニア •accounts ‣ Twitter: @Kazu_cocoa ‣ GitHub: KazuCocoa
  3. 3. ∼ 2011 広島市立大学にて情報科学を専攻 映画『マトリックス』の影響で情報系を目指す 研究: 暗号系、分散コンピューティング系 教授の影響: QA/テストする人の知識/技術の広さ ACCESS入社 ソフトウェアのQA/テストを志向して入社 テスト関係、新規サービスのサーバ/インフラ の設計・発注など クックパッド株式会社へ入社 Quality Improvementという表現に共感 食、ソフトウェアのサービス産業 2011 ∼ 2014 ∼
  4. 4. 何をする役割?
  5. 5. QA オペレーター テスター テストエンジニア QAエンジニア
  6. 6. • 手順書に沿って何かを実施する人? • 何をテストするか、から考える人? • Chekingを自動化する人? • Testingする人? • Testingまで自動化する人? • 成果物に対して指標を計測し、ソフトウェアを評価する人?
  7. 7. Test Engineer @Google (not software engineer in test) •"Test Engineers at Google aren't manual testers." •Jobs on Linkedin •"The TE is a newer role at Google than either Software Engineers (SWEs) or SETs. As such, it is a role still in the process of being defined." •How Google Tests Software(2012)
  8. 8. Senior Software Engineer @Netflix Tools, Test and Reliability Engineering •What you will do: •Develop tools and architect new solutions as necessary. •Validate software that gets shipped on a variety of devices. •What you have: •BS/MS in Computer Science or related field. •Strong software design skills and experience with OO programming languages. •Excellent computer networking knowledge. •5+ years of test and automation experience. •A passion for learning and working effectively in a nimble environment.
  9. 9. SWET @DeNA •具体的な業務内容 •Webアプリ・WebAPIの自動テストコード作成 •スマートフォンアプリの自動テストコード作成 •テスト自動化ツールおよび基盤環境の開発・運用 •自動テスト実施計画の策定、自動テスト項目の作成 •作成した自動テストの実行と、それに伴う不具合報告 •必須の経験・能力 •スマートフォンアプリの開発経験 (iOSおよびAndroid) •Webアプリ・Webサービスの開発経験 •何らかの自動テストコードの作成経験 •望ましい経験・能力 •Ruby・Perlでの開発経験 •具体的なテスト設計の経験 •テスト工程の管理経験
  10. 10. テストエンジニア @Cookpad •ソフトウェアテストに関する知識と実務経験 •Android/iOS/Ruby on Railsやそれに類するシステムの開発経験、もしくはそ れらに対するテスト実装経験 •RSpec、JUnit、Selenium WebDriver、Appiumなどのテストフレームワー クを使ったテストの自動化、運用経験 •組織/チームにおける開発体制/プロセス改善の実施経験 •コンピュータサイエンスの知識と体系的なテスト技法や分析技法の理解 •インクリメンタル/アジャイルな開発環境下におけるソフトウェアテストの実施経験 •品質メトリクスの収集・分析・評価の実施経験 •サービスのサポート業務と開発者の間を取り持つような支援業務の経験
  11. 11. Qualityって?
  12. 12. 品質とは誰かにとっての価値である ジェラルド・ワインバーグ Quality Software Management: Systems Thinking v. 1
  13. 13. あなたのビジネスは 何を生業としていますか?
  14. 14. 製造業から発展した方面の品質 •自動車などの製造物 •物理的に壊れないことが購入者からしたら大事な要素 •腐食、経年劣化、環境による破壊など、考慮すべきことが多い •自然界を基準に計測可能 •品質管理部などによる、計測によるQuality Assurance ※付け加えると、制御ソフトウェアが入るまでは、機械の隅々まで物理的な計算のもと、 網羅的なテストが実施可能だった
  15. 15. 受託開発からの品質 •納品のために検査的なテストを行う •合意形成した指標を満足している、など •顧客に数値を示す必要があるため
  16. 16. サービス業からの品質 •利用時の品質とか、そこらへんは大きな要素を占める •ISO 25000とか、ISO 9241、ITILとか… •対人によって品質が評価されることが多い •品質保証?(Quality Assurance?) •クックパッドというサービス自体の品質を保証する? •絶対の指標が無い世界での保証? •サービス業における品質とは
  17. 17. Qualityで欲しているものは違う
  18. 18. サービス開発における品質の向上 価値検証を しっかり素早く できるようにし、 改善を繰り返して品質を 向上 させていく
  19. 19. サービスの開発速度を高めるための TDD/BDD、自動化されたテスト •ソフトウエアの内部品質を高める •動作する綺麗な設計/コード •TDDのサイクル => Red > Green > Refactor •Checkingの拡充による安定したサイクル •サイクルを回すための精神
  20. 20. サービスの開発速度を高めるために 補完されるテスト •不具合発生からの調査にかける労力を減らすための、効 率的なテストコードの拡充 •一連の流れの中で、最短で道を駆け抜けるためのテスト 設計/実施など
  21. 21. サービスの開発速度を高めるための 組織
  22. 22. サービス/組織の成長と専業化 •サービスや組織の発展に伴い進行する専業化 •Quality Engineer •Software Engineer in Test •Test Engineer •AB Test Engineer •Productivity Engineer •Release Engineer
  23. 23. クックパッドにおけるテストエンジニア、 テストの形 •今 •サービスの品質を継続して向上させるための土台作り •組織/プロセス改善 •Web/Mobileのテスト/テスト環境の改善 •組織の潤滑油 •発展 •サービスの開発、発展、向上させるための浸透 •分散した組織における開発速度を保った成長の土台作り •既存のテスト資産の改善 •Testing領域へ注力できる仕組み作り

×