7つのテスタールール

「最初は、投げられる救命ブイをつかむ準備ができるように、クラッシュする必要があります。」

E.ヘリゲル

禅とアーチェリーの芸術



手動テスターですか?

テスト自動化時間はありませんか?

テストする必要があるものは自動化できませんか?

すでにトップに達していますが、他の人の進路を見たいですか?



その後、カットをお願いします!





私は航空機ソフトウェアをテストする小さな会社のテスターとしてキャリアを始めました。 自動化されたテストのみが行われ、すべてのプロセスは一般に既に構築されています-非常に難しい作業ではありません。 彼らは、Visual Basicでコードを記述する基本を示し、テストの実行方法を示し、長い航海でそれらを送信しました。



その後、私の学生は終わり、もっと面白い仕事が欲しかったので、簡単な手動テスターとして別の会社に移りました。 ここで小さな余談をする必要があります-小さなキャンペーン/部門では、テスト担当者がテストに直接関係のないタスクを実行することがあります。 たとえば、テスト環境の展開、ソース管理における複数の製品ブランチの維持、リリースされた製品のサポートなど。 そんな状況に陥りました。

最初はすべてが順調でした。最初のプロジェクトをやり、手ですべてをやりましたが、まだ多くの自由時間がありました。



しかし、徐々にプロジェクトが増え、プログラマは常にバグを修正し、ほぼ1時間ごとにビルドをロールする必要がありました。 ある時点で、実際にテストに費やしている時間はわずか40%であることに気付きました。 残りの時間は、残ったアクティビティによって占有されます。 次に、 最初の簡単なルールを理解しました:



1.テスターの場合、テストだけでなく自動化も可能であり、必要です。



その後、Excelで簡単なタブレットを作成し、すべてのタスクに時間がかかったことに注目しました。 そして、最も時間がかかったのは、ビルドの些細なビルド(ファイル、実行可能ファイルなどの更新)であることがわかりました。 夕方、自宅で、私はYandexに身を潜め、このアクティビティを0で削除する方法を見つけました。ビルドサーバーでのビルドの構文を調べ、ファーム全体の自動計算を行いました。 その後、ビルドの開始をソース管理のチェックインにリンクし、人生に喜びを感じました。再び自由な時間を過ごしました! 次に、 2番目の単純なルールを理解しました。



2.時間の最大の利益をもたらすものを自動化する



徐々にプロジェクトが成長し、いくつかのサーバー上にシステムが登場しました。 そして、恐ろしいことに、開発者の設定はサーバー上で機能しませんでした! プログラマーはなんらかの理由で(!)編集したくありませんでした。 ビルドマシンに再び登りましたが、ビルド段階で構成を簡単に変更できることがわかりました。 次に、 3番目の単純なルールを理解しました。



3.ビルドマシンの動作を完全に学習する



同じ頃、Hyper-Vの最初の仮想ファームが自由に登場しました。 数ヶ月後、私は以前自分がどのように暮らしていたか想像できなくなりました。 テストスタンドを上げるのはとても簡単で簡単でした! したがって、 4番目の単純なルール



4.仮想化サーバーを持ち上げます



当時、会社は非常に成長しましたが、突然ドメイン内の会計を簡単に確立するには、正当化と確認を行って管理者にアプリケーションを作成する必要があることが判明しました。 しばらく耐えた後、テストドメインを作成しました。 1か月後、仮想化サーバーだけが必要ではないことに気付きました。 したがって、 5番目の単純なルール



5.最後にテストドメインを作成します



テストドメインを上げると、サーバー上で面白いものが見つかりました-Power Shell。 結局のところ、ユーザーを作成したり、IISを構成したり、ファイアウォールでルールを作成したり、サービスをインストールしたりするなど、多くのことがインターフェイスなしで実行できます。 さらに、私はこれが私の車だけでなく行うことができることを学びました!

また、リモートマシン上のタスクを3回以上実行する必要がある場合は、常にスクリプトを作成します。時間の節約は非常に大きなものです。



一般に、 6番目の単純なルールは次のとおりです



6. PowerShell / cmd / bashを扱う



ある時点で、テストを自動化することさえせずに、他のすべてを自動化したことに気付きました!



それから、巨大なビジネス機能の自動テストのために、最初の巨大な(当時のように思えた)プロジェクトを実施することにしました。 私は長い間苦労してそれをしましたが、それでも作成しました。 松葉杖、暗黙的な依存関係、ハードコード、その他の優れたものが非常に多く、炎症を起こした心のこの創造を何らかの形でサポートすることは不可能でした。 それから、なぜこれらの賢いプログラマーがこれほど多くのショールを許可するのかを理解しました... 一般的に、最も重要な7番目のルール



7.自動化しますか? 正しくプログラムすることを学ぶ! ソフトウェアアーキテクチャに関する本を読む



ここで、叙事詩の引用が明らかになりました。 いくつかの恐ろしいプロジェクトを作り、私の創造物を支えるためにたくさんの歯を折った後、私はこれらの賢い叔父が彼らの本に書いたことを理解し始めました。 時間の完全な不足と、ある場所から別の場所にファイルをコピーする愚かさだけが、私を自動化の道へと押し進めました。 開発チームと完全に合併しただけで、比較的普通のコードを書き始めました。

そして、私は関与しました。 そして、読書に関する次の数冊の本-プログラミングについて。 そして、私はプログラマーに切り替えません。これは私のものではありません。 さて、私はすでにプログラミングテスターに​​なりました。



そして最も重要なことは、自動化を恐れないことです。 これらは、必ずしも将来的に神話的な利益をもたらすことができる巨大な作品ではありません。 見回して! マウスで何かできますか? 95%の確率で、これをスクリプト化できます。 15回目の手動操作を行っていますか? そのため、昨日スクリプトを作成する必要がありました。



そしてもう一つの願い。 私は自分でそれを学び、同僚に啓発しました-認めなければなりません。美しく複雑なプロジェクトを作成し、汚れたセーターを着て仕事に苦しんでいない人々と働くことはより興味深いです。



おもしろいバグ、良いプロジェクト、友好的な仲間のプログラマーをお祈りします!



All Articles