Share
Embed
ソフトウェアテスト自動化、一歩前へ
2022/6/30 TEST Study #2「ソフトウェアテストにおける自動化」
発表資料
動画はこちら
https://www.youtube.com/watch?v=8VbL9Pv67oU&t=1s
YoshikiIto
June 30, 2022
Transcript
38 slides
-
伊藤由貴(@yoshikiito) ◼ テスト自動化エヴァンジェリスト ◼ 仕事の経歴 ⚫ 2012年 株式会社ベリサーブに新卒入社し、 テスト・QAの世界へ ⚫
2019年~ 自動テスト推進課を立ち上げ、 社内外でテスト自動化の普及・推進活動を行っている ◼ コミュニティ活動 ⚫ NPO法人日本ソフトウェアテスト技術振興協会 会員 ⚫ JSTQB AL シラバス テスト自動化エンジニア 日本語翻訳ワーキンググループ 5 -
“ソフトウェアテストの自動化” は広い ◼ 人(役割)によって、“テスト”でイメージする範囲が違う ⚫ 人(役割) ⚫ 開発者、テスター、QAエンジニア、発注者 などなど ⚫
イメージする範囲≒テストレベル ⚫ 単体テスト、結合テスト、システムテスト、受け入れテスト などなど ◼ 特定の、特に自分が関わる部分だけでなく、 広い「テスト」「テスト自動化」を色々な側面から見ることが大事 10 -
アジャイルテストの4象限 11 『実践アジャイルテスト』P96より 単体テスト コンポーネントテスト 機能テスト 例 ストーリーテスト プロトタイプ シミュレーション
探索的テスト シナリオ ユーザビリティテスト UAT(受入テスト) アルファ/ベータ パフォーマンス/負荷テスト セキュリティテスト 「~性」テスト 自動 手動 自動と手動 ツール Q1 Q2 Q3 Q4 技術面 ビジネス面 チ ― ム を 支 援 す る 製 品 を 批 評 す る -
アジャイルテストの4象限のうち自動化に向いている範囲 12 『実践アジャイルテスト』P96より 単体テスト コンポーネントテスト 機能テスト 例 ストーリーテスト プロトタイプ シミュレーション
探索的テスト シナリオ ユーザビリティテスト UAT(受入テスト) アルファ/ベータ パフォーマンス/負荷テスト セキュリティテスト 「~性」テスト 自動 手動 自動と手動 ツール Q1 Q2 Q3 Q4 技術面 ビジネス面 チ ― ム を 支 援 す る 製 品 を 批 評 す る -
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 -
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 -
バグフィルター 19 『A Practical Guide to Testing in DevOps Japanese
Edition』 セクション6 DevOpsにおけるテスト戦略 より -
Angie Jonesのやり方 30 ◼ 直感(G)、リスク(R)、価値(V)、費用対効果(C)、過去の状況(H)で スコアを付け、自動化対象を選択する方法 オリジナル:Which Tests Should We
Automate? by Angie Jones 講演者によるブログ記事:自動化するテストの選択方法(自動化スコアで判断する方法) いずれの方法も、 チームで優先順位・ 範囲を考え、 合意することが大事! -
今ある(手動実行前提の)テストケースをそのまま自動化しない 31 ◼ 懸念点 ⚫ 手順や確認項目が曖昧な場合、不安定・低信頼な自動テストになる ⚫ テストケースに依存関係が含まれがちで、Fail時の原因調査や保守が大変 ◼ 例外
⚫ E2Eテストの自動化をこれから始める、ツールの適合性を確認する、 というときには既存のテストケースを一部コンバートしてみるのはアリ ◼ 対策 ① 今あるテストケースの再構成や詳細化をして使う ② 「テストケース」になる前から考える