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

ソフトウェアテスト自動化、一歩前へ

 ソフトウェアテスト自動化、一歩前へ

2022/6/30 TEST Study #2「ソフトウェアテストにおける自動化」
発表資料

動画はこちら
https://www.youtube.com/watch?v=8VbL9Pv67oU&t=1s

YoshikiIto

June 30, 2022
Tweet

More Decks by YoshikiIto

Other Decks in Technology

Transcript

  1. 伊藤由貴(@yoshikiito) ◼ テスト自動化エヴァンジェリスト ◼ 仕事の経歴 ⚫ 2012年 株式会社ベリサーブに新卒入社し、 テスト・QAの世界へ ⚫

    2019年~ 自動テスト推進課を立ち上げ、 社内外でテスト自動化の普及・推進活動を行っている ◼ コミュニティ活動 ⚫ NPO法人日本ソフトウェアテスト技術振興協会 会員 ⚫ JSTQB AL シラバス テスト自動化エンジニア 日本語翻訳ワーキンググループ 5
  2. “ソフトウェアテストの自動化” は広い ◼ 人(役割)によって、“テスト”でイメージする範囲が違う ⚫ 人(役割) ⚫ 開発者、テスター、QAエンジニア、発注者 などなど ⚫

    イメージする範囲≒テストレベル ⚫ 単体テスト、結合テスト、システムテスト、受け入れテスト などなど ◼ 特定の、特に自分が関わる部分だけでなく、 広い「テスト」「テスト自動化」を色々な側面から見ることが大事 10
  3. アジャイルテストの4象限 11 『実践アジャイルテスト』P96より 単体テスト コンポーネントテスト 機能テスト 例 ストーリーテスト プロトタイプ シミュレーション

    探索的テスト シナリオ ユーザビリティテスト UAT(受入テスト) アルファ/ベータ パフォーマンス/負荷テスト セキュリティテスト 「~性」テスト 自動 手動 自動と手動 ツール Q1 Q2 Q3 Q4 技術面 ビジネス面 チ ― ム を 支 援 す る 製 品 を 批 評 す る
  4. アジャイルテストの4象限のうち自動化に向いている範囲 12 『実践アジャイルテスト』P96より 単体テスト コンポーネントテスト 機能テスト 例 ストーリーテスト プロトタイプ シミュレーション

    探索的テスト シナリオ ユーザビリティテスト UAT(受入テスト) アルファ/ベータ パフォーマンス/負荷テスト セキュリティテスト 「~性」テスト 自動 手動 自動と手動 ツール Q1 Q2 Q3 Q4 技術面 ビジネス面 チ ― ム を 支 援 す る 製 品 を 批 評 す る
  5. Testing vs Checking 13 ◼ Checking is something that we

    do with the motivation of confirming existing beliefs. Checking is a process of confirmation, verification, and validation. When we already believe something to be true, we verify our belief by checking. ◼ チェックとは、既存の信念を確認する動機で行うものである。確認は、確認、検証、そして妥当性確認のプロ セスである。私たちがすでに何かを真実だと信じているとき、私たちはチェックすることによってその信念を 確認します。 Checking ◼ Testing is something that we do with the motivation of finding new information. Testing is a process of exploration, discovery, investigation, and learning. When we configure, operate, and observe a product with the intention of evaluating it, or with the intention of recognizing a problem that we hadn’t anticipated, we’re testing. ◼ テストとは、新しい情報を見つけようという動機で行うものです。テストは、探索、発見、調査、学習のプロセス です。製品を評価するつもりで、あるいは想定していなかった問題を認識するつもりで、製品を構成し、操作 し、観察することがテストです。 Testing Blog: Testing vs. Checking より 日本語訳はDeepL
  6. Testing vs Checkingのうち自動化に向いている範囲 14 ◼ Checking is something that we

    do with the motivation of confirming existing beliefs. Checking is a process of confirmation, verification, and validation. When we already believe something to be true, we verify our belief by checking. ◼ チェックとは、既存の信念を確認する動機で行うものである。確認は、確認、検証、そして妥当性確認のプロ セスである。私たちがすでに何かを真実だと信じているとき、私たちはチェックすることによってその信念を 確認します。 Checking ◼ Testing is something that we do with the motivation of finding new information. Testing is a process of exploration, discovery, investigation, and learning. When we configure, operate, and observe a product with the intention of evaluating it, or with the intention of recognizing a problem that we hadn’t anticipated, we’re testing. ◼ テストとは、新しい情報を見つけようという動機で行うものです。テストは、探索、発見、調査、学習のプロセス です。製品を評価するつもりで、あるいは想定していなかった問題を認識するつもりで、製品を構成し、操作 し、観察することがテストです。 Testing Blog: Testing vs. Checking より 日本語訳はDeepL
  7. バグフィルター 19 『A Practical Guide to Testing in DevOps Japanese

    Edition』 セクション6 DevOpsにおけるテスト戦略 より
  8. Angie Jonesのやり方 30 ◼ 直感(G)、リスク(R)、価値(V)、費用対効果(C)、過去の状況(H)で スコアを付け、自動化対象を選択する方法 オリジナル:Which Tests Should We

    Automate? by Angie Jones 講演者によるブログ記事:自動化するテストの選択方法(自動化スコアで判断する方法) いずれの方法も、 チームで優先順位・ 範囲を考え、 合意することが大事!
  9. 今ある(手動実行前提の)テストケースをそのまま自動化しない 31 ◼ 懸念点 ⚫ 手順や確認項目が曖昧な場合、不安定・低信頼な自動テストになる ⚫ テストケースに依存関係が含まれがちで、Fail時の原因調査や保守が大変 ◼ 例外

    ⚫ E2Eテストの自動化をこれから始める、ツールの適合性を確認する、 というときには既存のテストケースを一部コンバートしてみるのはアリ ◼ 対策 ① 今あるテストケースの再構成や詳細化をして使う ② 「テストケース」になる前から考える