Help us understand the problem. What is going on with this article?

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コードを自動生成する。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away