過去1年ほどの間、私はチームをリリース-アーリー-リリース-頻繁な開発モード(別名:アジャイルではなく迅速なアプリケーション開発)に向けました。ビルドを閉じる方法の詳細については、こちらの回答を参照してください 。RAD環境でのリリース品質を向上させる簡単な方法
私たちがRADを採用したとき、人々は非常に独立していて、最初にユニットテストを行っていました。統合テストはプロセスのかなり後の方で行われました。それは、正式な強制をあまり行わなかった彼らにとって自然なプロセスでした。今の状況はかなり異なります:
プラットフォーム全体は、ホットスポットがなく、クライアント側で機能する確立されたビルド/リリースとうまく統合されています。
新しい機能の要件は今後も続き、必要に応じて段階的に構築していきます。
独立した開発グループがプロセスを正しくフォローしている一方で、複雑で自明ではない状況が原因で重大な障害が発生しているため、システムの全体的なダイナミクスは非常に重要です。
システムの多くの部分には新しいアルゴリズムと研究入力が含まれるため、明確に定義されたソフトウェアでの機能テストのように、課題(およびテストのメカニズム)が常に正しく予測されるとは限りません。
最近、プロセスの改善が必要かどうかを確認するために、全体像をよりよく把握することを試みていました。チームと一緒に座ったとき、彼らの多くは「私たちはもうユニットテストをしません!」他の人たちは、効果がなくなるので今すぐ始めるべきではないと考えました。
単体テストは比較的成熟したシステムで役立ちますか?ユニットの成熟度に応じて、少なくともテストスコープの重量を量る必要がありますか?単体テストは開発のペースを遅くしますか?単体テストを別の方法で評価する必要はありますか?
リリース早期リリースの環境で成熟したプラットフォームをテストするためのベストプラクティスは何ですか?