自動テストを実装する

ソフトウェアソリューションの多数のアセンブリの品質を制御するために自動テストを使用する場合、手動テストと比較して、間違いなく初期の利益を得ました。 ただし、同時に、結果を開始、構成、処理するための大量の手動操作に関連する慣習、または自動化の不完全性により、プロセスの効率が大幅に低下し、テストで一種の半自動ハイブリッドが形成されました。

同じレベルの「半自動」で運営されている他の会社と同様に、どのような問題が私たちの時間とエネルギーを必要としましたか?



3種類のスクリプト



自動テストでは、少なくとも3種類のスクリプトが使用されました。 もちろん、これはテストの詳細によるものでしたが、これは私たちにとって簡単なことではありませんでした。 各スクリプトには、次の自動テストの開始の間に手動で実行される、独自の特別な起動手順が必要でした。



優先度設定



手動で実行されるテスト実行の順序の設定には、かなりの時間がかかり、かなりの労力が必要でした。



環境設定



各自動テストには、環境の元の設定が必要でした。必要なファイルを異なる場所、要求などから移動します。 これらすべての操作は、手動で再度実行され、「半自動」の定義の最初の部分について非常に明確なアイデアを与えました。



レポートを受け取る



各タイプのスクリプトは、その形式でレポートを提供しました。 そのうちの2つはマネージャーにとってまったく読めないため、ある形式から別の形式に切り替える努力は言うまでもなく、多大な労力とストレスをかけるだけで必要な情報を取得できます。



上記の問題に直面して、私はそれらを解決する方法を探し始めました。 自動化されたテストを管理するための複合体を作成できると上司に同意しました(その時点で開発者には自由時間がありました)。 そして、3か月の開発(開発者1人+テスター1人、合計6人月)後に得たものです。



スタンドアロンテストプロセス



製品の次のバージョンの構築からテストに関するレポートの最終生成まで、ソフトウェア開発サイクル全体をカバーする自動テスト管理システムは、Visual Studio 2008およびHyper-Vに基づいています。 作成されたシステムは、「開発者-テスター-開発者」スキームから実際に動作する「開発者-自動化システム-開発者」スキームに切り替え、テストの品質とレベルを大幅に向上させる機会を提供します。 汎用性、機能力、柔軟性により、あらゆるソフトウェア製品で準備されたテストを実行できます。



製品のテスト



このシステムは、ソフトウェア開発サイクル全体をカバーしながら、膨大な数の多種多様なテスト(Visual Studio MSテスト、HP QTPなど)を実行する単一のツールとして、サイクルの各段階を制御してTFSで検出された欠陥を自動的に修正できます; 利用可能なリソースの量、テストの数量、種類、目的、およびテストされる製品に基づいて、自動テストシステム自体を拡張およびパラメーター化します。

使いやすいユーザーインターフェイスを使用すると、多くの操作を簡単に実行して、予想/実行/完了済みテストの実際のステータスを管理および制御したり、優先順位を設定して製品のさまざまなバージョンでテストをスケジュールしたり、環境や動作条件に応じてシステムをパラメーター化したりすることができます

テストのさまざまな段階でさまざまなテクノロジーを柔軟に使用するロギングシステムにより、テストシーケンスの実行と発生した問題に関する正確で詳細な情報を取得できます。

テスターが参加することなくTFSに欠陥を自動登録することで、この機能をパラメーター化する機能を備えたレコードのオープンとクローズの両方が可能になり、会社の時間リソースを大幅に節約できます。

拡張可能なデータアーキテクチャシステムにより、さまざまなリソース(ファイルサーバー、ソース管理Visual Studio 2008、iSCSI)にテスト情報を保存するための最新のテクノロジーを使用できます。

これらは、自動テスト管理システムの主要な機能にすぎません。 絶え間ない開発と改善の過程で、このユニークなソフトウェア製品は着実に新しい機能能力と特別な信頼性を獲得しており、ソフトウェアを生産またはテストする企業にとって不可欠なツールとなっています。



現在、システムが実際の状態でどのように機能するかを示すビデオの作成に取り組んでいます。 すぐに、Yuotubに投稿します。

誰かが私たちのシステムに興味を持っている場合-書き込み、私はいつもあなたの質問に答えさせていただきます。



UPD :1つのトピックにまとめられたワーカーの要求に応じて。 すぐに乾燥した技術データを追加します。 これまでのところ:

Octopusは、ビルドマシン+ BTSとしてTFS 2008、仮想化システムとしてHyperVと連携します。



All Articles