BLOG.tass.io

テストをシンプルに保つ、簡単な5つの心得

2014-11-22

元記事「5 simple tips to keep testing simple — Joel Montveliskyon」

http://qablog.practitest.com/2012/09/5-simple-tips-to-keep-testing-simple/

  1. ちいさく分割して管理する

長大で複雑なテストは、柔軟性に欠けるためすぐに動作しなくなります。\

非常に長いテストを作ることでテストの数は少なくなりますが、その実行手順も条件も複雑になってしまいます。 テストケースをより小さく分解することで柔軟性を確保し、より素早く実行し、より正確なカバレッジを達成することができるようになります。 現状のタスクを、より小さなタスクに分割することにチャレンジしてみましょう。

  1. “重要な”ボールから決して目を離さない

「ありとあらゆる全てのコードをテストすることは不可能」というのは皆さん同意して頂けると思います。 おおよそ全ての開発において、リソースも時間も限られているからです。

「ジャグリングボール(宙に幾つもボールを投げて廻す大道芸)」はテスト管理についてのアナロジーです。 ジャグリングでは全てのボールを完全に管理することは不可能で、実は特定の重要なボールに集中することを暗示しています。 テスティングにおいても、開発中のプロダクトにおいて「どの部分が重要なのか(リスクがあるのか)」を把握し、 テスト管理のジャグリングの中での「重要なボール」を見極めなければいけません。

この記事を読んでいるあなたが、いまチームがどのようなボールを持っていて、何が重要なのかを把握していないとしたら、 すぐにQA会議の予定を組むか、ハンディタイプのホワイトボードを持って、チームメンバーへの聞き取りに向かって下さい。

  1. 「重要度」「複雑度」「開始可能日」に基づいてタスクを分類する

テストのタスクは山のように積まれますが、それらに優先順位を付けるために、指標を設けてみましょう。
ここでは3つの要素「重要度」「複雑度」「開始可能日」を示しています。

I) 重要度

会社やビジネスにとって、そのタスクがどれだけ重要かを判断してください。
あなたがこのテストを実行しない場合、どれだけリスクが増すでしょうか? (High|Midium|Low)

II) 複雑度

実行されるテストの複雑度はどれくらいのレベルでしょうか?\

開発者でも実行できる?経験の浅いテスターでも対応できる?経験豊富なテスターの技量が必要? もしくは、そもそも複雑過ぎてテストすること自体が不可能に近い? この指標によって、あなた自身が行うべきなのか、誰かに依頼するべきなのか、そもそもタスクを見直すべきなのかが明らかになります。

III) 開始可能日

そのタスクがテスト可能になるのはいつ頃になるでしょう?\

期限がわかっていれば、タスクを正しく並び替え、無駄なくシーケンシャルに処理していくことが可能になります。 この重要な指標を把握するためにも、あなたはプロジェクトに関わり続け、進捗を追い続ける必要があります。

これら3つの指標を元にあなたのタスクのバックログを管理することで、 あなたが集中してやるべきことがより明確になることでしょう。

  1. 断ることを学ぶ

これは難しいTipsです!上司や顧客に「ノー!」と平気で言えるかと問われると、現実問題としてシチュエーションはとても限られるでしょう。\

ただ、プロジェクトの状況は常に変化し続けています。あなた自身も柔軟に対応を変えていかなければなりません。 前もって実行を約束したタスクを放棄し、もっと重要なタスクに取り組む必要がある時、とにかく迅速にユーザーに状況を伝えるべきです。 タイムリーな情報は、「正しい決定と妥協」に必要なキーなのです。

  1. 自分の作業を完全に可視化する

一部のマネージャは、自分が持っている全ての手札を晒すことは自らの権力と柔軟性、意思決定の手綱を手放すことになるとして嫌がります。 しかしあなたは、顧客や同僚との間に完全な透明性を実現して作業することで、あなたがどれだけ専門的で重要な作業を行っているかを知らせる機会になります。 チームやプロジェクト、会社の成功のための意思決定を行っていく上で、あなたの行動とアウトプットが重要な指標になっていきます。


Michael Kuroneko

Written by Michael Kuroneko. Follow me on twitter, github.