WACATE 2019 夏 ~ テスト計画半端ないって ~
はじめに
注意:WACATE のテーマとタイトルが違うのは、私が一番大事だと思ったことをタイトルにしたからです。正確には「WACATE2019 夏 〜納期半端ないって!〜」です。
WACATE 翌日で、当日よりは落ち着いてるけどまだ当日分の加速装置が働いている状態で書いています。
今回の記事のメインターゲットは「私」。 正確には「未来の私」です。
なので、なんか違うなって思ったら関係リンク先にどうぞ!
関係リンク
BPPセッション
中村さんのセッション
www.slideshare.net
中野さんのセッション(BGMは矢野顕子)
www.slideshare.net
toggetter
WACATE のページ
WACAくないけど WACATE に行ってきました!夏
というわけで、予防線を張りつつ、感想です。
今回の WACATE のメインテーマは「納期半端ないって!」です。
まずは 2019年夏のWACATE について、ズバッとよかったこと、感銘を受けたこと、その他感想を箇条書きで並べます!
- 記事名の通り。テスト計画スゲー――――!!!!!
- 夜の分科会で、ブロッコリーさんと中村さんのお話を聞けてとても良かった(詳細は内密)
- 中野さんのセッションマジよかった。脳疲労と達成感で脱力しまくっている中でもちゃんと頭に入ってきたし、ワークをやったからこそ、より染み入った
- The 10 Minute Test Plan 私もまずは取り組んでみよう
- Rex Black スゲーーーーーー!
- テスト計画を作るよりも、合意形成、期待を合わせることが大事
- テスト計画はステークホルダーに意思表示すること、責務を知らせることが重要
- テスト計画の可能性をあきらめない(だったっけ…?)ということ。これ、テスト計画に限らずだなあと思った。どうせ使えない、じゃなくて、なぜ使えないのかを考えようと思う
- バグを見つけるためにはまず整理されていた方が効率的に見つけることができる
- チームマネジメントは難しいし、テスト方針を貫くことも難しい
- テスト設計、実装、実行のすべては、テスト計画、分析があってこそだなあと思った
当たり前じゃん、と思うことも多いかもしれないですが、改めて体感できてよかったと思うことと、そそそそそうだったのかーーーーー!と驚くこともありました。
きっと未来の私は「こんなの当たり前に実践できてるよ!」って見返したときに言うはず。
かように学ぶことは大量でした。
行く前の感想
現在の業務について、まずは説明しますね。これが前提になってくるので。
- テスト対象:法人向けのWebサービス
- テスト納期:基本は 2,3週間前後でテスト計画から出荷判定までを行う
- テストレベル:とりあえず開発がコンポーネントテストまではやってくれてるといいなあという状態。システムテスト相当の評価を実施
- 現在の状況:上記の基本 PRJ のほかに、Phaseが複数に分かれる、約 半年に渡る評価 PRJ を担当。常時 2、3 PRJ の PL をしている
という状況で、WACATE 夏のテーマを知った私は「ウェーーーーーーイ!これは私のためのプログラムなのでは?」と浮かれ果ててました。
何しろ、上記の状態なのにテスト計画もろくにない状態でプロジェクトを日々進めていたからです。
この状況を打開せねばならない、しかし、まさに木こりのジレンマ状態。振り上げた斧を下ろすことも、ましてや研ぐこともできない状態でした。(まあ今もまだそうです)
ちなみに、1年前の私はポジぺにこんなことを書いてましたね…
サイクルの早いテストをこなすのでいっぱいいっぱいになってしまい、本来やるべきテストプロセスがおろそかになっている。
か、、、変わってない、、、。(つд⊂)エーン
以前に比べると「要求分析をちゃんと明示的に行うようになった」「開発チームと評価項目のレビューを行うことがプロセスに明示的に組み込まれるようになった」という点では変わりました。
しかし、その中で何をやるのかは各PLに任されており、誰もがこれでいいのか…?と思っている状態でした。(たぶん…。いや私以外はもしかしたらこれで完璧って思ってるのかもしれないですけど)
行った後の感想
作ったものに対してステークホルダーに共有して合意をとる、というのが大事なのは「知って」いました。
だけど、実際には先にあげたとおりの「スピード感」というワードでやらないことをごまかしていたように思います。
実際、テスト計画まではいかなくても、テスト方針を書いて伝えたプロジェクトでは、テスト設計で大きなぶれなくテストができたことを思い出しました。
その時は設計者と PL の間だけのものだったけど、それをちゃんとプロジェクトの開始時点で開発と握って、変わりそうなら開発と握りつつ進めないといけなかったんだな、と思いました。
私に足りなかったのは「テスト計画をステークホルダーと握ること。」
「何のためにテスト計画を作るのかをちゃんとは理解していなかったこと」
この 2 点かなあ。
QAエンジニアになって今更感はあるけど、少しずつチームにテスト計画の意義を共有、浸透していければいいと思いました。
最後に
当時の自分のつぶやきを残して、記事を終えたいと思います。
プロジェクト、プロダクトにあった「品質」のためのテスト
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
テストを全部できない中で「やりきる」ためのテスト
#wacate
こ、、、これですよ聞きたかったの…!!!!!
全部できないなら「やること」やらないこと」をはっきり決める
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
やることの優先度を決めて濃淡をつける
#wacate
これを、ちゃんとみんなで納得感をもってステークホルダーと合意をとる必要があるんだよなあ…
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
テスト対象を渡されて、何を目的とするテストなのかをすぐに石井できるようにならねば…すぐ「input」「output」とか考えちゃう…
「やること」「やらないこと」「何を担保したいのか」を考えるようにしないと。
さっきから誤字ってばかリなのは聞きながら書いているからですのでお許しを…
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
JSTQB で紹介されている 4 段階が絶対ではない
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
#wacate
3段階…かな?一応。
あ、すみません。今の現場の段階がいくつかなって話でした!
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
多分きっと単体テストはやってくれてるし、結合テストらしきものはやってくれてるなー。んで自分たちのテストだなーって思いまして。
信用ならないテストコンサルが使いそうなもの(ISO/IEC 250000) #wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
テストタイプって都合のいいもの…
ちゃんと管理できるようにしましょう
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
システムテストの中のセキュリティテストはそういう管理をしているならテストタイプとか?そういう考え方かな。
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
え。テストレベルとテストタイプを組み合わせた目的…
我々…本当にシステムテストをやっていたのか…?????????
コンポーネントテストレベルのことやってないか???????
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
メッシュ状なるほどって思ったけど、現在のお客様の場合、テストレベルは1つしかないから…
ただ、開発側でこれはお願いね、っていうのは大事かもしれない。
あと、本来統合レベルまでは担保されてるはずよね、で、だからここまではできてるだろうから、我々は機能適合性やるね、とか。
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
「不安があってもやらない」を絶対守る。
ただ、どうしてやらないか、を説明できないのであればだめ。
範囲と頑張り度合いを説明できて共有できることが大事。
はるすぷさんは仕様書のヤバイところが光って見えるらしい☺️
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
考えてみたら、緊急メンテナンスの時のほうがテスト方針を開発とすりわせている気がする…?!
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
概要見積もりから詳細見積を出して計画を変えていくのは実は test planning だった…?(n が多いか?)
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
うちの班も負けてないぞ、と思いつつ、どの班もアグレッシブ…
やる!は決めたし、機能面でやらないは決めたけど、ちゃんとテストタイプとかを検討できなかったなあ…一応機能テストやるって決めたけど…。
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
CSVファイルがダウンロードできること、じゃなくて、正しい再生数の CSV がダウンロードできること、って考えるともう少し頑張れたかなあ…。
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
明確な正解がないのがつらいんだよなあ…
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
テスト計画をどのタイミングで作るべきか、というのは有識者の間でも割れている
リソースを加味してテスト計画を作るべきだけど、同じものはないし、評価も難しい。結果論でしかない。
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
感覚がボヤっとしてるのがダメなのね。
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
テスト計画を理解するために。
テスト計画は「共有するもの」共有するもの―――――――!!!!
だからこそ、関係する言葉を理解する必要がある。
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
テスト計画は製品 #wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
????と思ってたら、あーーーお客さんに納品するものってことね!
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
うまく活用できてる組織はほとんどない
ほとんどないから作らないくていい、ということではないよねえ。
中断と再開基準 #wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
これなあ…計画段階で決められてないことが多いなあ。質の悪いプロジェクトの場合は特に決めておいた方がいいよねえ。
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
対処的戦略ってなんだっけ…
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
私がやってるのは分析的戦略かなあ?
ははーーーーん。これもよくあるあるやな。実装が仕様ですってやつ?
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
リバースエンジニアリング的な感じかなあとはちょっと思ったんだけど違うんかなあ。
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
やっぱりテストする目的が最初なんやなあ
テストレベルが定義できてないってこれヤバいのでは…
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
というか、キックオフでこれを合意するべきか。やってるところとやってないところとあるなあ…。でも何のためにするのかをちゃんと考えなきゃだな。
ちょっと話は変わるんですが、こないだ組込のQAとお話ししたときにまっったく話がかみ合わなかったので、そのあたり大丈夫かちょっと心配。テスト計画に関する説明は大丈夫だと思うんだけど…。
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
JSTQB の知識の使用方法を教えていただいている…!!!!
こういうの知りたかった!(*^▽^*)
回帰テストで考慮するとき、より外部結合率(造語)が高いものをたいしょうにするみたいなことをするといいかな。
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
考えてるんだけどなあ…と思うのは、多分バックキャストのイメージが足りてないし考慮不足なんだろなあ。
3週間でテスト計画からリリース判定までやる中、どうしたらよいものかをいつも考える。
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
と思ってたら、半年くらいかかるものを任されたらそれはそれでどうしたらいいのかわからない悲しみ。
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
10分で作って、20分で付け足す。この感覚でテスト計画を作っていこう!
これなら短納期プロジェクトでも行けるやん!
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
フォーマットを作ればいいや、ってことじゃないんだけど、予め作っておいて、自分の気づきに使うといいかなあ。
そのうえで、戦略やアプローチにこだわろう。
Rule 4 #wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
合意させるためにはまず自分が納得してないとだめだよねえ…。自分を納得させるの難しいなあ…。いっぱいいっぱい考えなくては。
Rule 6 #wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
無理だと思ったら直す。直したら上司に伝えよ。軌道修正する=管理するのがマネジメントですよね!
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
話す時間が取れなくても、無理にでも振り上げた斧を下ろす決断が必要なんだよな。たぶん。そうじゃないと計画の見直しが遅れて手遅れになる。
これ、不具合が多い場合じゃなくて、テストメンバーのスキル不足による場合が難しいかなあ…
その言葉、なんですか?でも出た気がするけど「銀のテスト計画」ってものはないんだなと気づいたので、それを持ちかえろう。
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
WACATEに参加された方で、今週末のボードゲーム交流会に興味を持たれた方はつみき宛にポジペの頁数をリプかDM してください✌️詳細をご案内します!オムそばさんに凸でも問題なしです。
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日