#はじめに
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コードを自動生成する。]
(http://qiita.com/nezuq/items/21d191b3f0e494d78215)