各種便利なテスト自動化ツール、「プログラミングの実作業が不要」に近いのであって、「プログラミングの知識が不要」はちょっと違うような気がする。
— Yoshiki Ito/伊藤由貴 (@yoshikiito) March 4, 2025
まあ・・・要ると思っています。普通に要るでしょ派です。
話が広がりすぎるので、「プログラミングの知識とは何か」は一旦置いておいて(&広めにとって)考えます。
私は数年前まで、テスト自動化をQA・テストエンジニアに教えたり、開発組織に導入支援したりしていました。ちょうどそのころはAI自動テストツール(今はあまり言われなくなりましたかね)が盛り上がってきたころで、
- ノーコード・ローコードで自動化ができる
- プログラミングの知識やスキルがない人でも自動化!
- テスターなどローコストな人に自動化を任せて、より創造的な仕事を!!
など、色々言われていました。今でもたまに聞くかもしれません。
上記の一部には色々と言いたいこともありますが、閑話休題。今回の話は「ノーコード・ローコードで自動化ができる」ので「プログラミングの知識がなくても自動化ができる」よ、という論についてです。
E2Eテスト自動化を、ノーコード・ローコードとされているツールで自動化する場合、たとえば以下のような場面でプログラミング知識が必要となります。
- 処理の共通化を行い、変更に強くする
- 一方どこまで共通化するかの塩梅問題も
- SUTの構造や処理を把握する
- とくにFailの原因調査にあたっては、内部を全く知らない状態では難しい
- Webアプリの場合、DevToolでDOMを見たり通信状況を見たり
- Cookieの設定
- ツール標準機能でできない操作をJavaScriptで行う
ぱっと思いつくだけでもこのくらいはあります。
ノーコード・ローコードツールを使えば、E2Eテスト自動化を「始める」のはある程度誰でもできると思います。これが、冒頭に挙げたツイートに書いた「プログラミングの実作業が不要」という部分ですね。
一方で
- 安定して動く自動テストを作りたい
- 失敗の原因調査など、自動テストの運用を行いたい
などの場面では、プログラミングの知識が必要になります。
なので、たとえノーコード・ローコードのツールであっても、「それで自動化しながらプログラミングスキルを身に着けよう」くらいの気持ちでいると良いのではないでしょうか。
よくよく見返したら過去にも同じようなことを何度か書いていました。スタンスに変わりはありません。