KINTO Tech Blog
QA

既存マクロを渡したらWebアプリができた

Cover Image for 既存マクロを渡したらWebアプリができた

1. はじめに

Quality Engineering Gのとみよしです。

私が所属するQAチームではオープンソースのテスト管理ツールであるTestLinkを採用しています。

TestLinkへの結果入力は工数がかかるため、Excelマクロで結果を一括入力できるXMLファイルを生成する仕組みを運用していました。

しかしこのExcelマクロには2つの課題がありました。

  • チーム内にMac・Windowsユーザーが混在しており、OS差分を考慮した2本のコードを管理しなければならなかった
  • ローカル環境でのみ動作するため、更新のたびにファイル共有が必要だった

これらを解決するために、Microsoft 365のCopilotを活用してGoogle Apps ScriptでWebアプリを作ってみました。コードは一行も自分で書いていません。 その過程を紹介します。


2. 解決策としてGAS Webアプリを選んだ理由

課題の本質は「環境に依存している」ことでした。ブラウザで動くWebアプリにすれば、OSの違いもローカル管理の問題も一度に解決できます。

その中でGAS(Google Apps Script)を選んだ理由は主に3つです。

① OS差分がなくなる
ブラウザで動くため、MacでもWindowsでも同じように使えます。

② Google スプレッドシート(以下、GSSと表記)と連携できる
プロジェクトコードや担当者などのマスタデータをGSSで管理し、Webアプリからそのまま参照できます。更新もGSS上で行うだけなので、誰でもマスタ更新が可能になります。

③ 無料で使える
Google アカウントがあれば追加コストなしで開発・運用できます。


3. 完成したWebアプリの紹介

imagecapture01
imagecapture02

主な機能は3つです。

① 一括生成
テストケースが連番になっている場合に使います。開始番号と終了番号を入力するだけで、その範囲をまとめたXMLファイルを出力できます。
例)No.1〜100をまとめて一括出力

② 個別生成
テストケースを個別に指定して出力します。飛び番号のケースや、特定のケースだけ再テストしたい場合に便利です。
例)No.1, 3, 5, 7, 10を個別に出力

③ マスタ管理
プロジェクトコードや担当者名をGSSで管理しています。画面右上の「マスタを編集」ボタンからGSSに直接遷移して編集できます。


4. 開発の進め方 〜Copilotと約15往復した話〜

「WebアプリはGASで作ろう」と決めたものの、私は簡単なGASのコードしか書けず、Webアプリに関する知識はほとんどありませんでした。そこで活用したのがMicrosoft 365のCopilotです。

Copilotへの最初の一手

まず既存のExcelマクロのコードをそのままCopilotに貼り付け、以下のように依頼しました。

「このExcelマクロと同じ機能をGAS(Google Apps Script)で書いてください」

たったこれだけです。Copilotは既存コードの意図を読み取り、GAS向けのコードを出力してくれました。Excelマクロという既存の資産がそのまま設計書代わりになったわけです。

機能を1つずつ育てていった

最初から全機能を一度に作ろうとせず、以下の順番で1つずつ機能を追加していきました。

  1. 一括生成機能の作成
  2. 個別生成機能の追加
  3. マスタ機能の追加
  4. 細かい仕様の追加
  5. Webアプリ化

1ステップずつCopilotに依頼し、動作を確認してから次に進む流れです。結果的に10〜20往復のやり取りになりました。

エラーが出たらそのまま貼り付ける

開発中にエラーが発生することも何度かありましたが、対処法はシンプルです。

エラーメッセージをそのままCopilotに貼り付ける

それだけで原因の説明と修正コードを返してくれました。エラー対応は1〜2往復で解消できました。


5. やってみて気づいたこと

Copilotへの伝え方のコツ

一度に複数のことを依頼するより、1つの依頼につき1つの機能追加に絞ったほうがスムーズでした。欲張って「あれもこれも」と依頼すると、意図が伝わりにくくなることがありました。

QAエンジニアでもWebアプリが作れた

着手前は「自分にWebアプリなんて作れるのか」という不安がありました。しかしCopilotに既存のコードを渡してやり取りを繰り返すだけで、気づけば動くWebアプリができあがっていました。

プログラミングの専門知識がなくても、「何をしたいか」を言葉で伝える力があれば十分です。

Before / After

Excelマクロ GAS Webアプリ
OS対応 Mac/Windows別管理 ブラウザで統一
コード管理 実質2本 1本
マスタ管理 Excelファイル Google スプレッドシート
共有のしやすさ ファイル共有が必要 URLを共有するだけ

「はじめに」で挙げた2つの課題が、どちらもきれいに解消されました。


6. おわりに

「QAエンジニアにはコードが書けない」なんてことはありません。

AIを活用すれば、既存の資産を渡すだけで新しい環境向けのコードを生成してもらえます。 私自身、コードを一行も書かずにWebアプリを完成させることができました。

同じようにExcelマクロの管理に悩んでいるQAエンジニアの方がいれば、ぜひ一度試してみてください。まず手元にあるマクロのコードをCopilotに貼り付けるところから始めれば大丈夫です。

この記事が、AIを活用した業務改善の第一歩を踏み出すきっかけになれば嬉しいです。

Facebook

関連記事 | Related Posts

We are hiring!

【22】シニアQAエンジニア(責任者候補)/Quality Engineering G/東京・大阪

「テストするQA」から「品質戦略を描くQA」へ。AIがコードを書くことが当たり前になりつつある今、品質保証のあり方そのものが問われています。

【カスタマーサクセスエンジニア】プラットフォームG/東京・大阪・福岡

プラットフォームグループについてAWS を中心とするインフラ上で稼働するアプリケーション運用改善のサポートを担当しています。