SlideShare a Scribd company logo
1 of 25
自動テスト入れてみたけど、
誰からも反応が無かった話。
write-host ‘created by miyata’
はじめに
みなさん自動テストしてますか?
そうですか
それはなによりです。
最近は単体テスト込みの言語多いですもんね。
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

More from naoyuki miyata

Ar coreをマスターするための 3つのハックと振り返り
Ar coreをマスターするための 3つのハックと振り返りAr coreをマスターするための 3つのハックと振り返り
Ar coreをマスターするための 3つのハックと振り返り
naoyuki miyata
 
arとの相性が悪くて何とかしたい
arとの相性が悪くて何とかしたいarとの相性が悪くて何とかしたい
arとの相性が悪くて何とかしたい
naoyuki miyata
 
Android mvc-frameworkが凄くて泣きそう
Android mvc-frameworkが凄くて泣きそうAndroid mvc-frameworkが凄くて泣きそう
Android mvc-frameworkが凄くて泣きそう
naoyuki miyata
 

More from naoyuki miyata (19)

最近覚えたこと
最近覚えたこと最近覚えたこと
最近覚えたこと
 
NT熊本 ふりかえり
NT熊本 ふりかえりNT熊本 ふりかえり
NT熊本 ふりかえり
 
Ar coreをマスターするための 3つのハックと振り返り
Ar coreをマスターするための 3つのハックと振り返りAr coreをマスターするための 3つのハックと振り返り
Ar coreをマスターするための 3つのハックと振り返り
 
Progressive visualization
Progressive visualizationProgressive visualization
Progressive visualization
 
夢の自動給水機
夢の自動給水機夢の自動給水機
夢の自動給水機
 
Duckathon for lightweight
Duckathon for lightweightDuckathon for lightweight
Duckathon for lightweight
 
Duckathon in Fukuoka #3
Duckathon in Fukuoka #3Duckathon in Fukuoka #3
Duckathon in Fukuoka #3
 
Duckathon in oita
Duckathon in oitaDuckathon in oita
Duckathon in oita
 
Duckathon ar kumamoto
Duckathon ar kumamotoDuckathon ar kumamoto
Duckathon ar kumamoto
 
Versus solenoid
Versus solenoidVersus solenoid
Versus solenoid
 
3 minuits cooking the miyazaki pref
3 minuits cooking   the miyazaki pref3 minuits cooking   the miyazaki pref
3 minuits cooking the miyazaki pref
 
Blender enigma de f button
Blender   enigma de f buttonBlender   enigma de f button
Blender enigma de f button
 
Ahiru reality
Ahiru realityAhiru reality
Ahiru reality
 
Duckathon
DuckathonDuckathon
Duckathon
 
arとの相性が悪くて何とかしたい
arとの相性が悪くて何とかしたいarとの相性が悪くて何とかしたい
arとの相性が悪くて何とかしたい
 
Android mvc-frameworkが凄くて泣きそう
Android mvc-frameworkが凄くて泣きそうAndroid mvc-frameworkが凄くて泣きそう
Android mvc-frameworkが凄くて泣きそう
 
Golang
GolangGolang
Golang
 
Golang
GolangGolang
Golang
 
Slide sharetest
Slide sharetestSlide sharetest
Slide sharetest
 

Recently uploaded

Service-introduction-materials-misorae-leadership
Service-introduction-materials-misorae-leadershipService-introduction-materials-misorae-leadership
Service-introduction-materials-misorae-leadership
Yasuyoshi Minehisa
 
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
Michael Rada
 

Recently uploaded (9)

Service-introduction-materials-misorae-leadership
Service-introduction-materials-misorae-leadershipService-introduction-materials-misorae-leadership
Service-introduction-materials-misorae-leadership
 
UP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチ
UP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチUP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチ
UP103シリーズ パワーコメット ユニパー スライドレールタイプ 瓦揚げ機 ウインチ
 
シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料
シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料
シンフォニティ株式会社(SYMPHONITY , Inc.) 会社説明・人材採用資料
 
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
 
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
 
202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)
202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)
202405_VISIONARYJAPAN_engineerteam_entrancebook(ver2.1)
 
ストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdf
ストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdfストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdf
ストックマーク株式会社がご提供しているAnews(エーニュース)概要紹介.pdf
 
事例DBサービス紹介資料(Case Study DB service introduction)
事例DBサービス紹介資料(Case Study DB service introduction)事例DBサービス紹介資料(Case Study DB service introduction)
事例DBサービス紹介資料(Case Study DB service introduction)
 
company profile.pdf
company profile.pdfcompany profile.pdf
company profile.pdf
 

自動テスト入れてみたけど、誰からも反応が無かった話。