Money Forward Developers Blog

株式会社マネーフォワード公式開発者向けブログです。技術や開発手法、イベント登壇などを発信します。サービスに関するご質問は、各サービス窓口までご連絡ください。

20230215130734

駆け出しQA と Bug Bash 〜ワイワイするって難しい〜

こちらは Money Forward Advent Calendar 2019 17日目の記事です。 昨日はがーこさんの 「BtoB事業の中の編集者」として半年でoutputしたもの でした。

改めましてこんにちは! マネーフォワード クラウド会計確定申告 で QA エンジニアをやっている Yoya と申します。 この春、こちらへの入社を機にソフトウェアテストの世界に飛び込んだ元 Web エンジニアです。

がむしゃらに走ってきた半年間、特にインパクトの強かったイベントが Bug Bash でした。

プレ開催での反省

Bug Bash イベントの概要自体は、セキュリティエンジニアで主催者の木村さんが 15日目の記事 でまとめているので、そちらをご覧いただければと思います。

事の発端は私がこちらの記事を見て、何だか面白そうだと木村さんに話したところからと記憶しています。 深夜のXSS講座も? サイボウズのバグハンター合宿がやたら楽しそうな件

その数時間後には開催に向けて動き出していたのでかなり驚きました。

※ 「まず、動け。」とは当時の社内の半期スローガンのこと

イベントは脆弱性だけでなくもう少し広い範囲で、そしてエンジニアではない人にも参加してほしいという意図のもと、Bug Bash という形態をとることになりました。

半日の開催を目標として、まずは2時間程のプレイベントを行ったのですが…… ほとんど盛り上がりませんでした。

何があったのか?

参加者の大半はテストの経験がほとんど無い新卒社員やビジネス職の人たちでした。

「好きなように触っていいよ」と言われても、どう触ればいいんだろう? 証跡をとってほしいと言われたけど、それって何?

そんな困惑が生まれていたのです。

気まずい空気が流れ出したところで、いち参加者であった私も慌てて 普段 QA ではこんなところを見ているよ、バグを見つけたらこんな感じでキャプチャを撮っているんだ、 などと同じチームの人に話し始めていました。

運営サイドとしてもかなり反省が残ったようです。

  • バグ探しに必要な情報の提供が不足していた
  • バク探しにかかるまでのオーバーヘッドーが予想外にかかった印象
  • プロダクトの簡単なレクチャーはやはりあったほうがいいかも
  • 学生の採用でのグループワーク以下

(当時の振り返り資料から抜粋)

事前対策レクチャーへ

こうしてイベントの参加希望者に、事前対策レクチャーとしてテストの基礎について QA グループが講義することになりました。

レクチャー用の資料をはじめに書いたのは、リーダーの jo さんです。

私「(資料を見ながら) へぇ、こんな感じで話すんですね」 jo「うん。 というわけで後はよろしく! 」 私「んんん!?!?!?」

レクチャーを行うのは7月末。この時点で私は QA 歴2ヶ月 です。 大丈夫かよそれ。

jo「QA のプロとして人前に出るんだから、内容を十分理解した上で話してね。   人に説明することで知識も定着すると思うよ」

なるほど、なかなかのスパルタ教育である。

さて、資料の構成はこのようになっていました。

  • QA グループとは何か
  • ソフトウェアテストは 「そのシステム、正しく動いていますか?」 を確認する工程である
  • 「正しく」の定義
  • 不具合が混入しやすいポイント
    • 境界値
    • 条件が多い機能
    • 多機能
    • 複雑そうなロジック (計算等) がある機能
    • 他の機能との依存度が高い機能
    • プロダクトの独特な仕様
    • 過去に不具合が多く発生している機能
    • 品質を考慮せずに短期間で作られた機能
    • 外部との通信を行なっている機能
    • 古い技術が使われている機能
  • 不具合を見つけ出す技術
    • ブラックボックステスト技法
      • 同値分割法
      • 境界値分析
      • 状態遷移テスト など
    • ホワイトボックステスト技法
      • ステートメントテスト
      • デシジョンテスト など
    • 経験ベースのテスト技法
      • 探索的テスト など
  • 「バグを憎んで人を憎まず」 (ソフトウェアテスト293の鉄則 鉄則 154 より)

ここから私は以下を追加しました。

  • 不具合を見つけた時に何をすればいいか
    • 証跡のとり方と報告の仕方 (手順や発生環境を明確にするなど)
    • プレ開催の様子から、こちらが当たり前にやっていることを当たり前として流してはいけないと感じたからです。
  • テストは「宝探し」である
    • QA グループの Redmine には Treasure Chest (宝箱) という名前がついています。
    • ワクワクした気持ちで Bug Bash に参加してほしいという思いから、この話をしておこうと思いました。

更に「脆弱性をあぶり出してみたいという参加者もいるのではないか」と考え、 レクチャーを2部構成にし、後半で木村さんに脆弱性診断の基礎を解説してもらうことにしました。

イベント本開催を終えて

私はかなりのあがり症のため、上記で伝えたい思いが十分に伝えられたかは定かではありません。 後日フィードバックを受けてやっと全身の力が抜けていきました。

  • 非エンジニアのことも意識してわかりやすく資料を作成してくださり、お話してくださってとても勉強になりました。また、QAエンジニア・セキュリティエンジニアの方々への仕事理解も深まり大変いい機会でした。ありがとうございました!

  • 受講者レベルのばらつきを考慮したバランスのとれた内容だったと思います。知識のある人にも振り返りになりよかったのではないでしょうか。

(当時の振り返り資料から抜粋)

そして8月、迎えた Bug Bash 本開催。

バグを見つけた席から歓声が上がる度に、心の中でガッツポーズをしていました。 「だんだん面白くなってきたな」 というつぶやきが聞こえてくると顔がほころびました。

発見したバグの数はプレ開催時よりはるかに多く、 その後第2回を開催したときは更にその数を上回りました。

ビジネス職の方やカスタマーサポートに所属されている方が挙げたバグには思いがけない事象が多く、 彼らの知見の深さに感銘を受けました。

テストは各々の経験が活きる場であり、それが確かに証明されたのです。

テストの面白さを伝えたい

Bug Bash 及び事前対策レクチャーの開催は、私たち QA グループにとっても副次的な効果がありました。

これまでは社内でも認知度が低く、ときには 「QA…… QA…… FAQ ページを作成している人ですか?」 と言われることもしばしばありました。

それが今となっては 「宝探しをしているチームだ!」 と認識されるまでになったのです。

ソフトウェアテストについて、みなさんはどのようなイメージを抱いていますか。 何だか難しそう? それとも退屈な作業? 「テストが好きなエンジニアなどいない」という話を時々耳にしますが、果たしてそうでしょうか。

Bug Bash は今後も継続して開催されます。 イベント当日が待ち遠しくなるようなワクワク感が持てるよう、テストの面白さを伝えていくにはどうすればいいだろうか。 そして駆け出しの自分自身も、テストの面白さをどこまで追究できるだろうか。

そんなことを考えながら、私は今日も探索の旅をしています。

--

マネーフォワードでは、エンジニアを募集しています。 ご応募お待ちしています。

【採用サイトのご案内】 ■マネーフォワード採用サイトWantedly

【プロダクトのご紹介】 ■お金の見える化サービス 『マネーフォワード ME』 iPhone,iPad Android

ビジネス向けバックオフィス向け業務効率化ソリューション 『マネーフォワード クラウド』

おつり貯金アプリ 『しらたま』

お金の悩みを無料で相談 『マネーフォワード お金の相談』

だれでも貯まって増える お金の体質改善サービス 『マネーフォワード おかねせんせい』

金融商品の比較・申し込みサイト 『Money Forward Mall』

くらしの経済メディア 『MONEY PLUS』

本業に集中できる新しいオンライン融資サービス 『Money Forward BizAccel』