SlideShare a Scribd company logo
忙しいテストエンジニアにこそ
お薦めCodeceptJS
2021テスト自動化カンファレンス 吉野和宏
自己紹介
→ 1960年12月11日生まれ、今日61歳 奈良県在住
→ フリーランス・テストエンジニア
→ 屋号:TestKernel
→ 主な立寄り処
→ Qiita および Twitter 、@kazuhiroYoshino
→ 今日のハッシュタグ #stac2021
→ 性格:調子のり、うれしがり
 Special thanks
 テスト自動化研究会(https://sites.google.com/site/testautomationresearch/)
 JSTQB(http://www.jstqb.jp/index.html)
 CodeceptJS 本家サイト(https://codecept.io/)
これからお話しする内容は、経験からの個人的見解であり、今まで所属した企業や
特定の組織の活動を否定するものではありません。
今日、お伝えしたいこと(CodeceptJSなら初期投資少なく始められます)
→ 始めるまで(Node.js と エディタ 例えばVS Code はインストールしておきたい)
→ アンチパターンとか、費用対効果とか
→ 8原則
→ ROI
→ 自動テストって、要 / 不要?
→ 要るけど、着手できていない
→ テストコード書いたり、技術的な壁
→ 時間がな~~~い <- 技術的な話ではありません。
→ 着手です。導入ではありません!
→ パイロットプロジェクトで試した知見を、水平展開するところまでが「導入」
既に確立された方法や知見を否定するものでも無く、CodeceptJSが優位だと主張しているわけでもありません。
既にバリバリ自動テストしている方は、あんまり得ることないかもです。
「いろいろと自動テストに関連する記事や事例を見かける機会が増えて、二の足を踏んでたら
CodeceptJSで、少し体験してみたらどう?」が、総括になります。
Discordに、本件のチャットが設置されていますので、
随時、ご質問書き込んで頂ければと思います。
QAエンジニア の とある1日 なの
→ 出社。パソコンの電源入れよう と、なにやらメモ帳を持った行列ができている。
→ 昼過ぎ、パソコンON。スケジュール確認したら、会議の時刻。
→ バグ管の様子見とくか。メンバーが今日起票した件で、なんか炎上してるみたい。
→ さぁ、今日テストする分、しとこう。なんか単調なんだけど、自動化できないかなぁ。
→ 今週末、未再現バグを1万回連続テストで見極め、現在、金曜日の16時。休日出勤しろってこと?
いつ、すんねん。自動化なんて。。。
こうやって時間つくった no
→ 出社。パソコンの電源入れよう と、なにやらメモ帳を持った行列ができている。
→ 請負テスト担当者の連絡会に合わせて、同時刻に空室ぎみの会議室を確保。集中する。
→ フリーアドレスなら、出没場所を変える。
→ 昼過ぎ、パソコンON。スケジュール確認したら、会議の時刻。
→ 会議資料に目を通す時間無かった。時間中に目を通すので、後で質問はチャットさせて。
→ しょーもないリモート会議なら、使える時間増えたと、前向きに。
→ バグ管の様子見とくか。今日起票した件で、なんか炎上してるみたい。
→ とりあえず無視。炭化。
→ 起票承認も、一旦、明日にする(延焼予防)
→ さぁ、今日テストする分、しとこう。なんか単調なんだけど、自動化できないかなぁ。
→ その仕事、本当に今日しないとダメですか? 明日できそうなら、明朝一番で片付ける。
→ お疲れ気味の開発者に、晩にのっそりバグ報告するのも酷な話かも。
→ 今週末、未再現バグを1万回連続テストで見極め、現在、金曜日の16時。休日出勤しろってこと?
→ 朝一、バグ管で未再現だけChoiceしておこう。
→ 準備だけしておいても、無駄にはならないでしょう。いずれするから。
これで、昼から1時間/1日くらい
捻出できるかなぁ
Discordに、本件のチャットが設置されていますので、
随時、ご意見、書き込んで頂ければと思います。
着手はこんな感じ(1時間/1日、使える時間を確保できたら)
→ インストールと設定
→ コマンドラインで、npm install codeceptjs playwright --save
→ 設定ファイルやテストコードの雛形を生成。npx codeceptjs init
→ 基本(言語:日本語選択)以外は、ほぼそのままOK。
→ テストコード(例えばtopPage_test.js)を記述。
→ I.amOnPage(‘http://192.168.0.10/’);
ゴチャゴチャ説明するより、
動画準備しておいたので、感じを掴めればと思います。
せぇーのぉで、Web画面を開くまでの所用時間を、
CodeceptJSと他のツールで比較したものです。
YouTubeのリンク、https://youtu.be/YWrs48xuGrk
着手については、CodeceptJSの場合、
とっても楽なのが特長です。
自動テストに着手して気がつくこと
→ ガッツリとテスト対象の把握に向き合える
→ なんとなく仕様書眺めるより、動かして確かめる
→ 実装中に気がついてバグ指摘というのもあり
→ できたことは、さほど多くないことに気づく(特に他のツールを試した経験のある方)
→ 自動・手動、もっとテストすべきことがあるかもしれない。手動が適当な場合にも気づく。
→ もっと時間を確保して、有効なテストにできるかもしれない
→ 安定した手順を手に入れることの安心感
→ 開発者やテストメンバーと共有できたらいいのに
→ もっと、できることないのか探してみたくなる
→ なんか動かない
自動テストが動き出したら、見えなかった世界が見えてくることもあります。
ただし、動いたら の話。
なんか動かない・・・(解決する時間なんか、あるだろうか)
→ 動かない、クリックできない、画面表示のテストができない。
→ helper(webDriverio / playWright / TestCafe)を変えてみる。
→ ブラウザを変えてみる。
→ モバイルで動かない
→ Appiumのバージョン変えてみる、実機ではなくEmulatorを試してみる。
→ BrowserStackで試してみる
→ SPA(Single Page Application)の要素を旨く扱えない
→ ロケータ指定の方法(selector、name)変えてみる。
→ 上下矢印keyでも、なんでもあり(実行環境の依存は発生してしまうが。)
ここまで、codecept.conf.js の書き換えで対応可能。
同じテストをhelper違うと結果が違った事例の動画を準備しました。
YouTubeのリンク、https://youtu.be/mIySXM4zSmo
場当たり的でも、helper入れ替えたり、BrowserStack試せたり、ロケータ指定も旨くできたり、
動くなら、それでいきましょう。 CodeceptJSだと、そんなチャンスが多いです。
ちょっと動いた、その先
→ テストの補助として使ったり、安定した再現手順として使ったり。
→ 何千件もデータ登録したり、再テストの時に使えるシナリオにしたり
→ バグ発生時の静止画や動画( playWright、Selenoid )が残せたり。
→ 起票時の添付資料として要求されることが多い
QAチームとしてのメリットあれば、他のテスト担当者の利用も、CodeceptJSなら、楽に着手
ただし、このままCodeceptJSで突っ走るか・否かは、そろそろ考え時。
 手動こそが相応しいテストが見えてきたり
これ、自動テストにしたいというのは、他のテスト担当者も思っている
 少ないとは言え、テストコードやシナリオが溜まってきたり
 検証するには、APIテストやport listenが必須だったり
 自動テストの専任者も、任命した方がいいかもしれない
総括:「着手が楽なCodeceptJSって」
→ 今、自動テストできていない現場でも、着手できます。
→ 時間は、自分で作ってネ。
→ 忙しい中で、ぶつかった壁を越えられるチャンスが比較的多いです。
→ 自動テストの専任者じゃなくても、テスト担当者自らの手で自動テストを体験できます。
→ 実行環境の構築で最初だけは、若干の指導は要るかもしれない。
→ 時間に追われる(コードが書ける)テスト担当者にも、動いたね の経験を与えられる。
→ 失敗することもあるかもしれないけど、作るモノが少ない分、被害は少ないです。
→ 失敗も経験しないと、何が悪かったのか / 成功の暁 が習得できない。
→ 着手してみて見えてくる、自動テスト活動の「運用」や「展開」のメリット・デメリットがあります。
ぜひ、CodeceptJSを利用して、自動テストを体験してみましょう。
自動テストをしゃぶり尽くせる 最後の機会 かもしれない。

More Related Content

PDF
自動テストにおけるコードベース戦略とローコード戦略のすみ分け
PPTX
ぼんやりした要件とテストケースから出てくる地獄のようなゲームテスト自動化導入
PPTX
Stac2021 [初学者向け]ローコード開発におけるテストの考え方
PPTX
basic of Test automation installation
PPTX
エンタープライズ領域へのテスト効率化推進 - 5年間いろいろやってみました -
PDF
20191104 na te_samplequestion_r03
PDF
JaSST nano vol.7 「なぜペアワイズテストを使いこなせないのか」
PDF
分析可能なアジャイルQAでの取り組み
自動テストにおけるコードベース戦略とローコード戦略のすみ分け
ぼんやりした要件とテストケースから出てくる地獄のようなゲームテスト自動化導入
Stac2021 [初学者向け]ローコード開発におけるテストの考え方
basic of Test automation installation
エンタープライズ領域へのテスト効率化推進 - 5年間いろいろやってみました -
20191104 na te_samplequestion_r03
JaSST nano vol.7 「なぜペアワイズテストを使いこなせないのか」
分析可能なアジャイルQAでの取り組み

What's hot (16)

PDF
DMMアカウントサービス フロントエンド改善支援のためのTestcafeを用いた自動e2eテストの刷新
PPTX
APIテスト自動化とテストピラミッド
PDF
Ai for software testing
PDF
20191122 softec asia2019_report_for_d3 _r04
PDF
アジャイル開発に最適なQA『アジャイルQA』の導入
PDF
20211023 良いテストを作るためのテスト設計チュートリアルを考える
PPTX
組み込み開発のテストとゲーム開発のテストの違い
PPTX
An Agile Way As an SET at LINE
PDF
Jasst'18 kansai_challenge_to_convincing_test_design_by_test_design_contest
PPTX
Global scrum QA team
PDF
テストスイートアーキテクチャへのアーキテクチャ検証手法ATAMの 適用
PDF
ソフトウェアテストことはじめ
PDF
【SFO2020】業務SEを7か月でWebエンジニアに変える方法 ~アジャイルマインドを得るために~
PDF
ノーコードとアジャイル
PDF
福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた
PPTX
LINE のUI自動テスト事例
DMMアカウントサービス フロントエンド改善支援のためのTestcafeを用いた自動e2eテストの刷新
APIテスト自動化とテストピラミッド
Ai for software testing
20191122 softec asia2019_report_for_d3 _r04
アジャイル開発に最適なQA『アジャイルQA』の導入
20211023 良いテストを作るためのテスト設計チュートリアルを考える
組み込み開発のテストとゲーム開発のテストの違い
An Agile Way As an SET at LINE
Jasst'18 kansai_challenge_to_convincing_test_design_by_test_design_contest
Global scrum QA team
テストスイートアーキテクチャへのアーキテクチャ検証手法ATAMの 適用
ソフトウェアテストことはじめ
【SFO2020】業務SEを7か月でWebエンジニアに変える方法 ~アジャイルマインドを得るために~
ノーコードとアジャイル
福岡開発立ち上げQAメンバーが語るメルカリQAのはじめかた
LINE のUI自動テスト事例
Ad

Similar to 忙しいテストエンジニアにこそお薦め CodeceptJS (17)

PPTX
Istqb : Test automation Engineer
PPTX
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
PDF
異業種でのテスト自動化の実際
PPTX
事例からわかる!テスト自動化導入パターン
PDF
テスト自動化の光と闇
PDF
Qunit再入門 (Version 1.10.0 編)
PDF
JS開発におけるTDDと自動テストツール利用の勘所
PDF
1時間で分かるSTA (Software Test Automation) #stac2014
PPTX
画像認識ベースのUI自動化フレームワークを用いた取り組み
KEY
自動テストのすすめ
PDF
20151021 cookpad talk_test_engineer
PDF
デブサミ2014【13-B-L】テスト自動化を見直そう!自動化への投資が開発チームをクリエイティブにする(安竹由起夫〔コベリティジャパン〕)
PDF
ギアと開発とわたし_AAA2015
PDF
TDDワークショップ(第2回)
PDF
Stac2013 opening-koukai
 
PPTX
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
PDF
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
Istqb : Test automation Engineer
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
異業種でのテスト自動化の実際
事例からわかる!テスト自動化導入パターン
テスト自動化の光と闇
Qunit再入門 (Version 1.10.0 編)
JS開発におけるTDDと自動テストツール利用の勘所
1時間で分かるSTA (Software Test Automation) #stac2014
画像認識ベースのUI自動化フレームワークを用いた取り組み
自動テストのすすめ
20151021 cookpad talk_test_engineer
デブサミ2014【13-B-L】テスト自動化を見直そう!自動化への投資が開発チームをクリエイティブにする(安竹由起夫〔コベリティジャパン〕)
ギアと開発とわたし_AAA2015
TDDワークショップ(第2回)
Stac2013 opening-koukai
 
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
20140903 じどうかの窓口特別編 君にもなれる!?テスト自動化エンジニア
Ad

忙しいテストエンジニアにこそお薦め CodeceptJS

  • 2. 自己紹介 → 1960年12月11日生まれ、今日61歳 奈良県在住 → フリーランス・テストエンジニア → 屋号:TestKernel → 主な立寄り処 → Qiita および Twitter 、@kazuhiroYoshino → 今日のハッシュタグ #stac2021 → 性格:調子のり、うれしがり  Special thanks  テスト自動化研究会(https://sites.google.com/site/testautomationresearch/)  JSTQB(http://www.jstqb.jp/index.html)  CodeceptJS 本家サイト(https://codecept.io/) これからお話しする内容は、経験からの個人的見解であり、今まで所属した企業や 特定の組織の活動を否定するものではありません。
  • 3. 今日、お伝えしたいこと(CodeceptJSなら初期投資少なく始められます) → 始めるまで(Node.js と エディタ 例えばVS Code はインストールしておきたい) → アンチパターンとか、費用対効果とか → 8原則 → ROI → 自動テストって、要 / 不要? → 要るけど、着手できていない → テストコード書いたり、技術的な壁 → 時間がな~~~い <- 技術的な話ではありません。 → 着手です。導入ではありません! → パイロットプロジェクトで試した知見を、水平展開するところまでが「導入」 既に確立された方法や知見を否定するものでも無く、CodeceptJSが優位だと主張しているわけでもありません。 既にバリバリ自動テストしている方は、あんまり得ることないかもです。 「いろいろと自動テストに関連する記事や事例を見かける機会が増えて、二の足を踏んでたら CodeceptJSで、少し体験してみたらどう?」が、総括になります。 Discordに、本件のチャットが設置されていますので、 随時、ご質問書き込んで頂ければと思います。
  • 4. QAエンジニア の とある1日 なの → 出社。パソコンの電源入れよう と、なにやらメモ帳を持った行列ができている。 → 昼過ぎ、パソコンON。スケジュール確認したら、会議の時刻。 → バグ管の様子見とくか。メンバーが今日起票した件で、なんか炎上してるみたい。 → さぁ、今日テストする分、しとこう。なんか単調なんだけど、自動化できないかなぁ。 → 今週末、未再現バグを1万回連続テストで見極め、現在、金曜日の16時。休日出勤しろってこと? いつ、すんねん。自動化なんて。。。
  • 5. こうやって時間つくった no → 出社。パソコンの電源入れよう と、なにやらメモ帳を持った行列ができている。 → 請負テスト担当者の連絡会に合わせて、同時刻に空室ぎみの会議室を確保。集中する。 → フリーアドレスなら、出没場所を変える。 → 昼過ぎ、パソコンON。スケジュール確認したら、会議の時刻。 → 会議資料に目を通す時間無かった。時間中に目を通すので、後で質問はチャットさせて。 → しょーもないリモート会議なら、使える時間増えたと、前向きに。 → バグ管の様子見とくか。今日起票した件で、なんか炎上してるみたい。 → とりあえず無視。炭化。 → 起票承認も、一旦、明日にする(延焼予防) → さぁ、今日テストする分、しとこう。なんか単調なんだけど、自動化できないかなぁ。 → その仕事、本当に今日しないとダメですか? 明日できそうなら、明朝一番で片付ける。 → お疲れ気味の開発者に、晩にのっそりバグ報告するのも酷な話かも。 → 今週末、未再現バグを1万回連続テストで見極め、現在、金曜日の16時。休日出勤しろってこと? → 朝一、バグ管で未再現だけChoiceしておこう。 → 準備だけしておいても、無駄にはならないでしょう。いずれするから。 これで、昼から1時間/1日くらい 捻出できるかなぁ Discordに、本件のチャットが設置されていますので、 随時、ご意見、書き込んで頂ければと思います。
  • 6. 着手はこんな感じ(1時間/1日、使える時間を確保できたら) → インストールと設定 → コマンドラインで、npm install codeceptjs playwright --save → 設定ファイルやテストコードの雛形を生成。npx codeceptjs init → 基本(言語:日本語選択)以外は、ほぼそのままOK。 → テストコード(例えばtopPage_test.js)を記述。 → I.amOnPage(‘http://192.168.0.10/’); ゴチャゴチャ説明するより、 動画準備しておいたので、感じを掴めればと思います。 せぇーのぉで、Web画面を開くまでの所用時間を、 CodeceptJSと他のツールで比較したものです。 YouTubeのリンク、https://youtu.be/YWrs48xuGrk 着手については、CodeceptJSの場合、 とっても楽なのが特長です。
  • 7. 自動テストに着手して気がつくこと → ガッツリとテスト対象の把握に向き合える → なんとなく仕様書眺めるより、動かして確かめる → 実装中に気がついてバグ指摘というのもあり → できたことは、さほど多くないことに気づく(特に他のツールを試した経験のある方) → 自動・手動、もっとテストすべきことがあるかもしれない。手動が適当な場合にも気づく。 → もっと時間を確保して、有効なテストにできるかもしれない → 安定した手順を手に入れることの安心感 → 開発者やテストメンバーと共有できたらいいのに → もっと、できることないのか探してみたくなる → なんか動かない 自動テストが動き出したら、見えなかった世界が見えてくることもあります。 ただし、動いたら の話。
  • 8. なんか動かない・・・(解決する時間なんか、あるだろうか) → 動かない、クリックできない、画面表示のテストができない。 → helper(webDriverio / playWright / TestCafe)を変えてみる。 → ブラウザを変えてみる。 → モバイルで動かない → Appiumのバージョン変えてみる、実機ではなくEmulatorを試してみる。 → BrowserStackで試してみる → SPA(Single Page Application)の要素を旨く扱えない → ロケータ指定の方法(selector、name)変えてみる。 → 上下矢印keyでも、なんでもあり(実行環境の依存は発生してしまうが。) ここまで、codecept.conf.js の書き換えで対応可能。 同じテストをhelper違うと結果が違った事例の動画を準備しました。 YouTubeのリンク、https://youtu.be/mIySXM4zSmo 場当たり的でも、helper入れ替えたり、BrowserStack試せたり、ロケータ指定も旨くできたり、 動くなら、それでいきましょう。 CodeceptJSだと、そんなチャンスが多いです。
  • 9. ちょっと動いた、その先 → テストの補助として使ったり、安定した再現手順として使ったり。 → 何千件もデータ登録したり、再テストの時に使えるシナリオにしたり → バグ発生時の静止画や動画( playWright、Selenoid )が残せたり。 → 起票時の添付資料として要求されることが多い QAチームとしてのメリットあれば、他のテスト担当者の利用も、CodeceptJSなら、楽に着手 ただし、このままCodeceptJSで突っ走るか・否かは、そろそろ考え時。  手動こそが相応しいテストが見えてきたり これ、自動テストにしたいというのは、他のテスト担当者も思っている  少ないとは言え、テストコードやシナリオが溜まってきたり  検証するには、APIテストやport listenが必須だったり  自動テストの専任者も、任命した方がいいかもしれない
  • 10. 総括:「着手が楽なCodeceptJSって」 → 今、自動テストできていない現場でも、着手できます。 → 時間は、自分で作ってネ。 → 忙しい中で、ぶつかった壁を越えられるチャンスが比較的多いです。 → 自動テストの専任者じゃなくても、テスト担当者自らの手で自動テストを体験できます。 → 実行環境の構築で最初だけは、若干の指導は要るかもしれない。 → 時間に追われる(コードが書ける)テスト担当者にも、動いたね の経験を与えられる。 → 失敗することもあるかもしれないけど、作るモノが少ない分、被害は少ないです。 → 失敗も経験しないと、何が悪かったのか / 成功の暁 が習得できない。 → 着手してみて見えてくる、自動テスト活動の「運用」や「展開」のメリット・デメリットがあります。 ぜひ、CodeceptJSを利用して、自動テストを体験してみましょう。 自動テストをしゃぶり尽くせる 最後の機会 かもしれない。