狠狠撸

狠狠撸Share a Scribd company logo
自動テスト入れてみたけど、
誰からも反応が無かった話。
write-host ‘created by 尘颈测补迟补’
はじめに
みなさん自動テストしてますか?
そうですか
それはなによりです。
最近は単体テスト込みの言語多いですもんね。
CIには必須ですよね。
今回のケースは
えらく古い技術を利用したシステムに自動テス
ト使ってみた話です。
※えらく古い : VS2005
もうちょっと言うと
UCIです。
えぇ、ドイヒーです。
UCI:Unti-Continuous-Integration。断続的に
人力でやる。
個人的な希望としては
自動テスト導入したら???
1.おぉ、リリース前に時間割かなくても品質
あがんじゃね?
2.ついでにビルドも自動化しない?
3.いいねぇ、手が空くねぇ!!
現実は
単体テスト自動化
「へぇ、自動で動くんだ。色々あるんだね最
近は」
↓
「ところで、別件の依頼があるんだけ
ど???」
なぜなのか
考えてみました。
テストの自動化に食指がそそられない理由
答えは簡単でした
割とざっくり2つみつかりました。
?自動テストが必要と思っていない。
?自動テストを導入する能力がない。
自動テストが必要と思ってな
い
UCI環境下では下記3つの当たり前が発生。
1.バグは無い状態
2.テストは言われなくてもやる
3.テストは人力&目視
本当に当たり前なのか
1.バグは無い状態
2.テストは言われなくてもやる
3.テストは人力&目視
→あるけど、ない事になってる。
→やってない。何なら「○○さんが作った
から」で通る。
→結果確認でミスってる。
现実みえてますか?
現実を見ましょう
バグ0のシステムなんて見た事ないでしょう?
「言われなくてもテストする」なんて、所謂人
任せですよね?
「目視」で確認て、人はミスをする生き物です
よ?
少し见えましたか
自動テストを導入する能力がな
い
ここからが本題です。
自動テストを導入する能力って何でしょう?
必要なもの
?「何をしたらどうなるべき」と
言う姿
?「テストを組む」と言う工程
?テスト結果を残す仕組み
これらを満たす能力が足りない
何をしたらどうなる?
出来ると思って以外と出来ていないのがこれで
す。
所謂「動作がはっきりしていない」
エラーとなるケースや、業務データの状態によ
る制御などが、はっきりしていない。
テストを組む工程って何でしょ
う?
動作を洗い出したら、実際にテストをゴリゴリ
と書いてゆきます。
書いて流すだけではだめですよね?
テストが間違っていないか、漏れがないか見な
いといけないです。
テストの結果はどうなる?
テストが終わったら全部終わりじゃないですよ
ね?
次回流すための準備が必要です。
何時、どんなテストを流して結果どうなったの
か記録しましょう。
???
とある人は言いました。
「能力があるからやるのではな
い。
やるから能力が育つのだ。」
UIAutomationのご案内
UIAutomationとは、PowerShellで画面制御
ができるゴイスーなライブラリ。
何と、Windowsなら(多少環境整備の後)
すぐに実行可能。
例
#ウィンドウひろって
$window = Get-UiaWindow -ProcessId $process.Id -AutomationId ‘frmMain’
#ボタン拾って
$control = $window | Get-UiaButton -AutomationId ‘btnExecute’
#押してみる
$control | Invoke-UiaButtonClick
とっても簡単
キー操作から何からいけます。
古くてテスト用ライブラリの導入が難しいシス
テムに対する自動テストの切り札。
おわり
write-host ‘Fin’

More Related Content

自动テスト入れてみたけど、谁からも反応が无かった话。