1.はじめに
こんにちは!
もうQA歴3年ほどになる新米とは言えなくなってきたテスターです。
今年はツール作成時のプロセスについて苦戦したことが多かったので、そちらの振り返りと改善点についてお話します
自己紹介
学生時代はゲーム関連の専門学校に入学。
2021年にQAの仕事をはじめ、現在QA歴3年
QA業務を可能な限り自動化して、人間の手間を減らしたいと思っています。
反省したきっかけ
去年までは悩む前に行動!止まる時間がもったいない!というスタンスで進めていましたが...
その結果とても痛い目を見ました...
具体的にどのような失敗だったのか。今後どうやってその事態を回避していくのかについて話していきたいと思います。
2.ツール作成時に苦戦したこと/反省点
以前の自分は資料などを準備し、仕様や要点などを確認してから、実装に移っていましたが...そのやり方で苦戦したことを書いていきます。
-
自分で資料や仕様などを確認してから実装すると、考慮が足りない部分などもあり、根本的な所が足りず、設計の部分から手直しが発生する場合も
自動化を行う時は、対象施策に詳しい方に資料等を用意してもらった方が良い
-
設計をざっくり考えてから、実装中に詳細を考えると、相手と自分の認識のズレが生じ、大幅な変更依頼が飛んでくる可能性がある
途中で出てくる懸念点を都度調整していくのは効率が悪くなってしまうので、最初の設計時点で実装の仕方まで考えておき、最初のMTGで相手側に伝えられるようにしておくとよい
3.手順の見直し/効果的だったこと
手順を見直してみました。
自動化を行う際には、事前準備が重要だということが分かりました。
1.調査・分析
・仕様書の内容や、確認する範囲の分析を行います。
⇒自動化の調査範囲の確認です。ここで仕様書からどの情報を使うのか、どのマスタを参照するのかを決めます。
この段階で、テスト担当者に資料(ログインボーナスなら開始期間、日数、アイテム等が記載された仕様書と使用されているマスターデータ)を用意してもらいましょう。
そうすることで、相手の想定している確認範囲も確認でき、時間も節約できます。
2.要件定義
・確認すべき内容などを決めます。また、自動化を実装する環境等を決めます。
⇒マスターデータと仕様書を比較するようなツールを作成するのであれば、比較情報を照合する機能や、マスターデータと仕様書の情報を比較する為に、表現がブレている部分を形成する機能等を決めます。
確認内容や実装環境が決まったら、エンジニアやテスト担当者にレビューしてもらいましょう。
要件定義の段階で、自分の認識で間違っている部分があればここで修正しましょう。
3.設計
・要件を満たすように、使う関数やツールの作りなどを決めます。
⇒文言の形成をスプレッドシートで行うのであれば、REGEXEXTRACT関数を使う等...あらかじめ決めておくことで、最初と実装後の完成物の認識がブレないようになります。
設計が完了したら内容が問題ないか、エンジニアの方にレビューしてもらいましょう。
この時、何故この関数を使うのか等理由を説明できるようにしておきましょう。
4.仕様+実装
・設計で決めた内容を元に実装していきます。
⇒細かな修正が出た場合は関数や数式を使って修正します。
5.テスト
・実装した内容が問題なく動作するか確認します。
⇒テストデータなどを使用して、動作のテストを行い、要件を満たしているか確認します。
5.まとめ
今回、自動化の工程を分けることによって、
相手との認識のすり合わせを行うタイミングを増やすことができました。
折角ツールを作っても相手の望んでいないものができるのは悲しすぎるので、同じ過ちは繰り返さないよう、心がけていきたいと思います。
また、何よりも独りよがりで実装していくと必ず障害が出てくるので、
色んな方に協力してもらって、より良い効率/品質を目指していきましょう!
来年も自動化作業に取り組む中で何度も躓くとは思いますが、トライ&エラーで成長していきたいと思います!