私がこの思考プロセスを経た最初の人だとは信じられないので、誰かが私を助けてくれるかどうか疑問に思っています.
現在の状況: 開発者が Web サイトを作成し、運用担当者がそれを展開します。デプロイが完了すると、開発者がスモーク テストを行い、デプロイがスムーズに行われたことを確認します。
私にはこれは間違っているように感じます。本質的には、アプリケーションをデプロイするのに 2 人が必要であることを意味します。私たちの場合、この 2 人は地球の反対側にいて、タイムゾーンが関係して大混乱を引き起こしています。しかし、開発者はテストの最小セットが何であるかを知っており、それは時間の経過とともに変化する可能性があります (特にアプリの Web サービス部分)。操作は、それらに敬意を表して(そして彼ら自身がこれを言うでしょう)、従うべき一連の指示を必要とするボタンプッシャーです.
手動による解決策は、テスト ケースを文書化し、運用が展開するたびにその文書に従うことです。それは苦痛に聞こえますが、異なるバージョンを異なる環境 (具体的には UAT と本番環境) にデプロイしている可能性があり、それぞれに異なる一連の指示が必要になる場合があります。
これに加えて、近い将来の計画の 1 つは、自動化された毎日のデプロイ環境を用意することです。そのため、特定のバージョンのアプリをデプロイする方法をコンピューターに指示する必要があります。アプリをスモーク テストする方法について、その手順に追加したいと思います。
現在、開発者は人間向けよりもコンピューター向けの手順を文書化する方が優れているため、明らかな解決策は nUnit の組み合わせを使用することのようです (これらは単体テストではないことはわかっていますが、目的のために構築されたテストです)。 runner) と、Watin または Selenium API のいずれかを使用して、明らかなブラウザーの手順を実行し、Web サービスを呼び出して、これらの単体テストを実行する方法を運用担当者に説明します。私はそれを行うことができます; 私はすでにほとんどそれをしました。
でも、そのプロセスをもっと簡単にできたらいいと思いませんか?
この時点で、運用担当者とコンピューターは、どのテスト セットがアプリのどのバージョンに関連しているかを把握し、nUnit ランナーにどのベース URL を指す必要があるかを伝える必要があります (たとえば、www.example.com = v3. 2 または test.example.com = v3.3)。
テスト ランナー自体にベース URL を指定し、たとえば zip ファイルをダウンロードさせて、そこにあるテスト フィクスチャを実行する前に、それを解凍し、構成ファイルを自動的に編集する方法があれば、もっといいと思いませんか?
それを行うオープンソースアプリはありますか? 必要ですか?nUnit 以外のもの、おそらく Fitnesse を使用したソリューションはありますか?
記録として、私は最初に .NET ベースのツールを検討しています。開発者のほとんどは主に .NET 開発者ですが、私たちは .NET と結婚していません。他の言語を使用してテストを作成するツールが存在する場合は、Windows で動作するテスト ランナーがある限り、喜んで対応します。