新しいパラダイムが「あなたが構築し、実行する」(Werner Voegels、Amazon CTO)である場合、明らかにソフトウェアエンジニアにはるかに大きな責任とプレッシャーを課します。この変更は、テストチームのタスクに何をもたらしますか?
新しいパラダイムが「あなたが構築し、実行する」(Werner Voegels、Amazon CTO)である場合、明らかにソフトウェアエンジニアにはるかに大きな責任とプレッシャーを課します。この変更は、テストチームのタスクに何をもたらしますか?
回答:
そのような変革の前にテスターの役割が何であったかに依存する私見。ところで、私の答えは、You build it, you run it
パラダイムだけでなく、DevOpsの変革全般にも当てはまると思います。
役割がドローンの仕事だった場合-気取らずにテストを実行すること-それはなくなるはずです、自動化はそのような仕事を食べます。
役割にテスト計画と仕様の作成が含まれている場合、開発者と並んで、それを継続するか、対応する自動化スクリプトの作成に変形することさえできます。またはスタンドアロン-一部の環境では、テストに、開発に使用されるものとは完全に別の方法論/インフラストラクチャ/人員を使用することが必須です。多くの組織では、テスターは開発者と同じようにソフトウェアエンジニアです。
役割が意図的に信頼性の低い/驚きのテストを実行していた場合、特に自動テストを補完するために人間の特性(感情、主観性、インスピレーション、反射、直感など)を必要とする場合も変更されません。
「あなたはそれを構築し、あなたはそれを実行します」
この引用は、サイロチーム間の休憩について強調することを目的としています。開発の原則の1つは、サイロが1つのタスクを達成しないようにすることです。
ここでのアイデアはビルドと実行のフェーズに焦点を当てていますが、重要なアイデアは、アーキテクチャからエクスプロイトの役割まで、チーム全体をまとめることです。「開発チーム」は、テスターの役割を含む、ソフトウェアのライフサイクルに参加するすべての役割で構成され、チームの誰もが単一の役割を処理しません。
テスターの主な変更点は、アジャイルチームで計画フェーズについて自分の意見やフィードバックを表明することを学び、おそらくいくつかの運用タスクに参加することです。
しかし、全体として、厳密な規則はありません。以前にサイロにいた誰かが「デボップスチーム」で何をするかは、彼/彼女がより興味を持ち、快適にできることに依存します。これは、新しく作成されたチームの課題の1つです。最も効率的な方法で負荷を共有するために全員の最高の能力を見つけます。
私はシニアエンジニアです。
開発のこの段階では、インフラストラクチャエンジニアの役割(他の人がDevopsの役割と呼ぶ人)に簡単に移行できないテストを雇うのは難しいと思います
たとえば、テスターがJVMマルチスレッディングの複雑さを知っていたり、Pythonクラスの設計に精力的であったりすることを期待していません。私は彼らがスタブコードを書いたり合成データを生成したりするかもしれないソースを理解できるようになると期待しています。
私は、現代のテスターが私のチーム内のdevopsの基本的な武器を知っていることを期待します。これには、CMツールを使用したベアメタルサーバーのプロビジョニング、さまざまなアーティファクトまたはコンテナーを介したコードの展開が含まれます。
さらに、データがシステム内をどのように移動するかを理解するという意味で、データエンジニアとしての能力も必要です。障害の単一点がどこにあるか、および障害のシミュレーション方法、スロットリングなどについて考える。
モジュールレベルのテストを実行するためにテスターを雇うことは決してありません。これは、ネットワークバリアの背後にある少数のクラス(たとえば1〜20)の相互作用として定義します。
tl; dr環境をセットアップし、その環境を介してデータをシミュレート(または再生)し、環境に混乱を引き起こすためにテスターを雇うでしょう。