ノンプログラマのためのSelenium de DDTはじめの一歩
-
Upload
satsuki-urayama -
Category
Documents
-
view
2.978 -
download
2
description
Transcript of ノンプログラマのためのSelenium de DDTはじめの一歩
ノンプログラマのための
Selenium de DDTはじめの一歩
Satsuki Urayama
うらやま さつき•所属:テスト自動化研究会( STAR )、しなてす•出没: WACATEおいしいものがあるところ•ノンプログラマ / テストやってます
いわゆる協力会社メンバーです
•携わったシステム:
顧客管理( Java/web )
広告管理( web )、組込み、
証券取引( web ) M
ノンプログラマの環境・制約
•自動化は当たり前?
•自動化していきたい?
•手動テスト全盛?
•テストなのに開発ツール入れるの?
• OSS ツールの使用も承認制?
•工数は?効果は??
事情はいろいろ
M
いつまで手でやってるの?
【このおはなしの対象】• 自動化に挑戦したいマニュアルテスター• ちょっとした工夫で解決できることに
時間を割いている人に心当たりがある人
自動化したいテストケース【例】• バリデーションチェック後に表示されるエラーメッセー
ジの確認• 登録情報によって変わる割引サービスの適用• 購入金額による手数料の確認
刺身にたんぽぽ乗っけるようなテスト。
例題 未入力の場合0 ~ 100 の半角数字以外を入力した場合
エラーメッセージが表示される
未入力の場合0 ~ 100 の半角数字以外を入力した場合
エラーメッセージが表示される
例題:テストケース
項番 内容 入力値 エラーメッセージ
1 全角数字 1 順番は、 0 から 100 の範囲で入力してください。
2 範囲外の半角数字
101 順番は、 0 から 100 の範囲で入力してください。
3 全角ひらがな
あ 順番は、 0 から 100 の範囲で入力してください。
4 半角英字 A 順番は、 0 から 100 の範囲で入力してください。
5 html タグ <b>1</b>
順番は、 0 から 100 の範囲で入力してください。
6 記号 ; 順番は、 0 から 100 の範囲で入力してください。
7 未入力 未入力 順番を入力してください。
【手順】① 「順番」のテキストボックスに値を入力する(同時にテーマ名にも任意の文字列を入力する)② 「テーマの追加」ボタンを押す③ エラーメッセージが表示されることを確認する
STEP1 :記録する項番 内容 入力値 エラーメッセージ
1 全角数字 1 順番は、 0 から 100 の範囲で入力してください。
2 範囲外の半角数字
101 順番は、 0 から 100 の範囲で入力してください。
3 全角ひらがな あ 順番は、 0 から 100 の範囲で入力してください。
4 半角数字 A 順番は、 0 から 100 の範囲で入力してください。
5 html タグ <b>a</b>
順番は、 0 から 100 の範囲で入力してください。
6 記号 ; 順番は、 0 から 100 の範囲で入力してください。
7 未入力 未入力 順番を入力してください。値を変えただけのテストケースを作っていく
STEP2 :値違いのケースを作る•テストケースとテストスイート (html ファイル )を出力するマクロを作成
※ 某社 H 島さんのツールをインスパイアしました。ありがとうございました。
STEP3 :実行する
ね、簡単でしょ?Very easy.
M
データ駆動テスト (data driven testing)
スクリプト作成技術の1つ。テスト入力と期待結果をテーブルやスプレッドシートに格納し、1つの制御スクリプトでテーブル中の全テストを実行するもの。キャプチャ / プレイバックツールのような、テスト実行ツールのアプリケーションで使うことが多い。(JSTQB Glossary より )
テスト自動化の3世代
レベル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