Edited at

Excelスクショ問題の解決策を現役エンジニアが本気で考えた。

More than 3 years have passed since last update.


はじめに

SIerのExcelスクショ問題が少し前にバズっていた。

SIerでは、プログラムを手動で操作し、その時の画面写真をExcelに貼り付けた資料を作る事で、プログラムが正常に動作するエビデンスとしている。

そもそも、なぜそのような作業が必要なのかは、下記の方のブログが詳しいのでここでは語らない。

- > Excelスクショ問題について周りの方へのお願いと、今職人となっている方への励ましの言葉(元職人より) | 羽根帽子の太公望

ここで語りたいのは、「Excelスクショ作業はなぜ自動化されないのか?」とそれに対する解決策だ。


原因

まず原因はこれらだと思う。


セキュリティの観点から自動化ツール導入に制限がある。(そのツールがスパイウェアでない保証はありますか?)

フリーウェアの導入や有名でないシェアウェアの導入の際に問題になる。それらのツールがスパイウェアの類でない事を証明する事は難しい。万が一それらがスパイウェアであった場合は、顧客情報も預かっているために企業の存続を脅かす事態となる。


テストコードを書く予算を顧客に納得させられない。(その分の開発予算増加を顧客企業の経営層に納得させられますか?)

システム開発の受注先を決める最大の基準が金額だ。テストコードを書く事で保守作業の費用を抑えられるが、その抑えられる費用の額は不確定なので、その基準に盛り込めない。部分最適化ならぬ開発最適化な予算が基準になる。


テスト自動化の教育をする時間がない。(プロジェクト単位での業務の中で、テスト自動化の教育予算と時間は誰が用意してくれるのですか?)

SIerの業務はプロジェクト単位で動く事が多い。プロジェクトリーダーからすれば教育はプロジェクト自体への利益還元率が低い為、優先されない。長期的な教育目的で開発者を育てるインセンティブが現場にない。


解決策

テスト仕様書(Excel)自体がUIテストを自動で行ってくれればいい。

そして、それはExcelVBAのみで実装されていればいい。

近いものとして、Excelenium(エクセレニウム)Selenium VBA(セレニウムVBA)があるが、Selenium(セレニウム)のインストールを必要とする為に導入が難しい現場もある。

だから、ExcelVBAのみで実装されたそれがあればいい。

ツール自体はダウンロードできなくても、最悪VBAライブラリのコピペはできる。


試みの紹介

開発3日目位のα版ですが、DIYの原則に従い実装してみました。

■nezuQ/PaperTester(PaperTester.xlsm)

https://github.com/nezuQ/PaperTester

 ※★テスト仕様書シートに書かれた操作が自動実行します。

   対応する操作の種類は、操作一覧シートに記入しています。


問題点

山積みです。DIYではなくDIWOしたいです。

エンジニアがエンジニアらしい仕事をできるように、一緒にOSS開発しませんか?


続き

Excelスクショ問題の解決策を現役エンジニアが本気で考えた。【2】

Excel単体テスト仕様書からIE自動操作用のVBSコードを自動生成する。