従来のテストは間もなく終了します

ソフトウェア開発の日常的なタスクは、Continuous DeliveryとDevOpsによって自動化されます。 開発者はますます多くの責任を負っています。 少し先を見れば、従来のテストとテスターの役割はどうなるのだろうと思っていました。









マイクコーンが彼の著書「アジャイルで成功する」で考案したコンセプトであるテストピラミッドを見たとき、この質問に悩まされました。 その本質は、70〜80%の単体テスト、10%の統合テスト、5%のシステムテスト、最後に5%のGUIテストを用意する必要があるということです。







割合の変動は異なる場合があります。 全体的なポイントは、GUIを使用した高レベルのテストよりもはるかに多くの低レベルのユニットテストを使用する必要があるということです。



もう少し詳しく見てみると、テスターに​​もプログラミングスキルがある場合にのみ可能になります。 ソースコードを見ると、エンドツーエンド(複雑な)テストに関連するリスクを下げるためのユニットテストの役割を理解できます。



チームは現在、受入テスト駆動開発(ATDD)に向かっています。 ここでも、プログラミングが役割を果たします。



テストピラミッドのサクセスストーリーを聞くたびに、常に重要な成功要因があります。 プログラマーがすべてのテストを行ったか、テスターがテストするためのプログラミング方法を学びました。



LeSSのキューイング理論に見られるように、 人々は手作業を取り除きます。 その過程で、彼らはテスターの役割から完全に離れます。 これは最近の多くのスタートアップで非常に一般的になっています。



私の意見では、前進すると、両方の役割が開発の前提条件としてプログラムする能力を獲得します。 唯一の違いは、テストエンジニアが最初にテストを行い、次に開発を行うことです。 彼らは、スクリプトと自動化されたスクリプトのコードを書くという形で、プログラミングの時間の大部分を費やします。



テストエンジニアは、製品の専門家、品質アドバイザー、リスクアナリストになる予定です。



結論として:



手動テストで十分だった時代は過ぎ去り、テストサイクルには数か月かかることがありました。 テスターは前進するために優秀なプログラマーになる必要があります。 プログラミングに精通しているだけでは不十分です。 競争力を高めるには、最新の自動化フレームワークを学習および開発し、スクリプトテクノロジと連携できる必要があります。



All Articles