アジャイル開発の現場でQAしないという判断をするとき

はじめに

QAやソフトウェアテストについていろいろ調べていても、こうやらないといけないとかこういうことをやった方が良いとかそういうのはあっても、こういうのは止めたほうが良いとか、こういうのはやる必要がないとかそういうのはあまり見たことが無い気がしたので書いてみます。

あくまでも私見ですし、この記事を参考にしてテストをしないでその結果問題が出たとしても私は責任は取れません。しかし、テストしても意味が無いのに工数だけ使って無駄に費用を発生させたり、リリースが遅れたりして、QAの信頼を損なうことになったとしても私は同様に責任を取ることはできません。

あと、テストしなくても良い場合の例外にあたらないことを確認していただいてご意見いただけると幸いです。

変更が軽微な時

基本的には文言の変更のみの場合はテストしなくても良いでしょう。例えばタイポを修正する時、「クポーン」を「クーポン」に直す場合とかは恥ずかしいのでさっさと直したほうが良いと思います。

ただし、文言が金額とか日付とか重要な情報を含む場合にはテストはしたほうが良いとは思います。

あと、変更後の文言が変更前の文言よりも長い場合(「クーポン」を「お得なチケット」に変更する場合)はレイアウトが崩れる可能性があるので検証はしたほうが良いかもしれません。

言うまでもなく「変更が軽微」というのはコードの修正が1行だから「変更が軽微」というわけではありません。1行でもビジネスロジックに変更がある場合は軽微ではありませんし、何行変更してもそれがコメントの変更であれば「変更が軽微」と言って良いでしょう。当たり前の様に思えるかもしれませんが、現実に海外からリモートワークしているエンジニアの方が「コメントの変更だけなのでテストしなくて良いですか?」って聞かれたけど時差があるので「テストしなくて良いです」って返答に1日待たせちゃって申し訳ないなぁと思ったことはありました。

テストが全くできない時

テストが全くできい場合はテストしても意味が無いのでテストしないでリリースせざるを得ない時もあると思います。その場合もリリース後でも良いのでテストできるようにツールを作るとか方法を考えた方が良いとは思います。私が経験したところで言えば、いわゆるキャリア決済(ドコモ、au、ソフトバンク等の通信料から支払われる)の返金時にそのキャリアが既に解約済の場合等です。その場合にどういうエラーが返ってくるかはドキュメントからは知ることができたので、そのエラーが返ってきた場合の挙動(出力)についてはテストできても、実際にそのエラーが返ってくるかどうか(入力)はテストできませんでした(実際にキャリアを解約して翌月を待つとかはしなかった)。

ただ、テストができない=その問題を再現させられないということではないと思います。例えば1%の確率でアプリがクラッシュするとして、その1%のクラッシュを再現できないとしてもそのクラッシュする箇所で正常に動作することはテストして担保できるので、それはやるべきです。それはQAしたと言っていいと思います。

どうしても忙しい時

開発チームが急激に成長している時にQAメンバーの数も同じ比率で増えているとは限らないので、開発メンバーの増加に対してQAメンバーの増加が少なければQAできない時は来ると思います。その場合はマネジメントの失敗でもあるので開き直ってリスクの低い案件のQAをパスすることもやむを得ないのではないかと思います。その場合にQAすることを固持して会社の成長を止めてしまうのも良くないと思いますし、むしろそれぐらい会社が成長して成長痛を感じることは良い経験になったと言えるのではないでしょうか?

いただいたサポートは生活費にあてます