一緒にいる期限が短く、開発の終わりが近づいている場合、コーディングを急いでQAに費やす時間を増やすか、ペースを維持してQA時間をほとんど持たないようにしますか?
私はこのプロジェクトの唯一の開発者であり、QAerでもあります。私がこれをしなければならないのは非常に短い期間です、リリースの通知。これは非常にデータ駆動型のアプリケーションであり、データは少し......ユーザー入力される傾向があります。中間プロセスを検索するのに何日も費やすことができましたが、それは私が残した少しの貴重な時間を奪うでしょう。
おすすめは何ですか?急いで終了してQA時間を最大化しますか?または、安定した状態を保ち、リリース時に指を交差させますか?
リリースバージョンの感覚が好きではなく、データの新しいバッチを見て、それが引っ掛かって失敗するのを待っているだけです。
考え?意見は?
まず、私たちのほとんどがこれから良い方法があったことを望んでいるのと同じくらい、あなたには今のところ良い選択肢がないという事実に注意します。あなたが望むことができる最善のことは、最も悪いものを見つけることです。
とは言うものの、原則として、バグを早期に発見すればするほど、修正は迅速/安価になります。
そのため、急いでいるというプレッシャーにもかかわらず、私は一般的に自分のペースに固執し、前もってできる限りのことをしようとする方が良いと思います。急いで物事を平手打ちし、後で混乱を修正しようとすると、全体的な努力が大きくなる可能性が高くなります(そして結果はおそらくまだ低品質です)。
ある程度のQA時間の間、追加機能を犠牲にしてから、システムを実装するためにもう少し時間を犠牲にして、問題が発生したら、バグを修正するために必要なすべての情報とともに、問題を警告します。次に、変更を顧客にすばやくプッシュする方法を考え出すのに時間を費やします。
QAが不十分なコードをサポートする場合は、少なくとも、すぐに必要になるツールを自分で用意してください。
終了したら、自動化された単体テストを作成してみませんか?私はすべての説教を得るつもりはなく、すべてのテストを事前にTDDスタイルで書く必要があると言います(私はこの方法を好みますが)。これは、この状況であなたに言うのに役立つことではないからです。
ただし、コードの最もリスクの高い領域であると思われる領域を選択し、少なくとも開発の完了時にテストカバレッジを提供することは可能かもしれません。その後、テストを完了することができますafter締め切り、失敗したものをバグとして書き留め、コードを変更して合格にします。これには、自分でバグを見つけるという利点があり、コードに関心があることを顧客に示す必要があります。
最後に、バグレポートが届いたら(そしてそうなることはわかっていますが)、すぐに飛び込んで修正したくはありません。代わりに、時間をかけてバグを再現する失敗した単体テストを作成し、それ(および他のすべての単体テスト)に合格するようにしてください。時間が経つにつれて、最もバグの多い/最も変化するコードの周りにユニットテストの小さな島が成長します。コードのバージョン2.0で作業するようになった場合は、さらにテストを記述して、テストカバレッジをさらに拡大することができます。次回はコードに自信があります。
幸運を!