ノンプログラマのための Selenium de DDT はじめの一歩 Satsuki Urayama
うらやま さつき 所属:テスト自動化研究会(STAR)、しなてす 出没:WACATE おいしいものがあるところ ノンプログラマ / テストやってます いわゆる協力会社メンバーです 携わったシステム: 顧客管理(Java/web) 広告管理(web)、組込み、 証券取引(web) M
ノンプログラマの環境・制約 自動化は当たり前? 自動化していきたい? 手動テスト全盛? テストなのに開発ツール入れるの? OSSツールの使用も承認制? 工数は?効果は?? 事情は いろいろ M
いつまで手でやってるの? 【このおはなしの対象】 自動化に挑戦したいマニュアルテスター ちょっとした工夫で解決できることに 時間を割いている人に心当たりがある人
自動化したいテストケース 刺身にたんぽぽ乗っけるようなテスト。 【例】 バリデーションチェック後に表示されるエラーメッセージの確認 登録情報によって変わる割引サービスの適用 購入金額による手数料の確認 刺身にたんぽぽ乗っけるようなテスト。
例題 未入力の場合 未入力の場合 0~100の半角数字以外を入力した場合 0~100の半角数字以外を入力した場合 エラーメッセージが表示される 未入力の場合 0~100の半角数字以外を入力した場合 エラーメッセージが表示される
例題:テストケース 【手順】 ①「順番」のテキストボックスに値を入力する (同時にテーマ名にも任意の文字列を入力する) ②「テーマの追加」ボタンを押す ③エラーメッセージが表示されることを確認する 項番 内容 入力値 エラーメッセージ 1 全角数字 1 順番は、0から100の範囲で入力してください。 2 範囲外の半角数字 101 3 全角ひらがな あ 4 半角英字 A 5 htmlタグ <b>1</b> 6 記号 ; 7 未入力 順番を入力してください。
STEP1:記録する 値を変えただけの テストケースを作っていく 項番 内容 入力値 エラーメッセージ 1 全角数字 1 順番は、0から100の範囲で入力してください。 2 範囲外の半角数字 101 3 全角ひらがな あ 4 半角数字 A 5 htmlタグ <b>a</b> 6 記号 ; 7 未入力 順番を入力してください。 値を変えただけの テストケースを作っていく
STEP2:値違いのケースを作る テストケースとテストスイート(htmlファイル)を出力するマクロを作成
STEP3:実行する
ね、簡単でしょ? Very easy. M
データ駆動テスト(data driven testing) スクリプト作成技術の1つ。 テスト入力と期待結果をテーブルやスプレッドシートに格納し、1つの制御スクリプトでテーブル中の全テストを実行するもの。キャプチャ/プレイバックツールのような、テスト実行ツールのアプリケーションで使うことが多い。 (JSTQB Glossaryより)
テスト自動化の3世代 Linear Script Frameworks Data-driven Frameworks レベル1 Linear Script Frameworks レベル2 Data-driven Frameworks Functional Decomposition Frameworks レベル3 Keyword-Driven Frameworks Model-based Framework TABOK Segment 2: Macroscopic Process Skills Skill Category 4: Test Automation Frameworks
あれもやりたい これもやりたい 遅延評価学習 仕様を整理しないと 文字列比較は曖昧でもいい エビデンス残したい 画面に表示された値を使いたい 文字列の一部を取り出したい 現在日付を使いたい いろんなブラウザでテストしたい 実施前に環境を初期化したい 実施時間帯によって操作を変えたい 無人の時間帯に実行したい などなど…… 遅延評価学習 ! ! ! ! ! ! ! ! ! ! M
まず、やってみよう M ご清聴ありがとうございました