SlideShare a Scribd company logo
bat/VBScript/PowerShellの
単体テスト自動化
2015/1/7作成
佐野 尚之
アジェンダ
セミナーのゴール
単体テストコードを書くために必要な知識
テストコード(共通部分)
bat
VBScript
PowerShell
お勧めの本
参考URL
2
セミナーのゴール
今まで毎回手作業で行っていた
単体テストがテストコードを書く
ことで2回目以降のテストの工数
を削減できることを理解する。
3
単体テストコードを書くために必要な知識(1/6)
 動作確認環境
Window 7 SP1
Visual Studio Professional 2013
PowerShell 4.0
 PowerShell/Windows7にPowerShell4.0をインストールする手順
http://win.just4fun.biz/PowerShell/Windows7%E3%81%ABPowerShell4.0%E3%82%
92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3
%81%99%E3%82%8B%E6%89%8B%E9%A0%86.html
4
単体テストコードを書くために必要な知識(2/6)
既存のプログラム
全てのコードがテストコードでテストしやすいよ
うに書かれているとは限らない。一部はテストし
やすいように変える、または、手作業でテストし
なければならない。
新規のプログラム
可能であれば最初からテストしやすい形で作る。
5
単体テストコードを書くために必要な知識(3/6)
 C#の文法で覚えておいたほうがいいこと
 var (※)
 var num = 1 // int型
※型推論(かたすいろん)
プログラミング言語の機能の1つで、静的な型付け
を持つ言語において、変数や関数の型を宣言しなくて
もそれを導くのに使われた関数の型シグネチャなどか
ら自動的に型を決定する機構のこと。
6
単体テストコードを書くために必要な知識(4/6)
 Visual Studioソリューションの作り方
 Visual Studioを起動後に「新しいプロジェクト」をクリック
 「Visual C#」ー「テスト」ー「単体テスト プロジェクト」-「OK」をクリック
7
単体テストコードを書くために必要な知識(5/6)
 Visual Studioソリューションの作り方
 参照設定の追加(※)、「script」フォルダ追加、bat,ps1,vbsをscriptフォルダに追加
 ※ C:Program Files (x86)Reference
AssembliesMicrosoftWindowsPowerShell3.0System.Management.Automation.dll
8
単体テストコードを書くために必要な知識(6/6)
Visual Studioのテストコードの動作
 作成したテストメソッドは順番に動くのではなく、並列で動作するこ
とを理解して、テストコードを書く必要がある。テストメソッド毎に
同じフォルダ/ファイルは使用しないほうが良い。
9
テストコード(共通部分) (1/2)
 x
10
テストコード(共通部分) (2/2)
 x
11
bat (1/7)
 テスト対象のコード(sample.bat)
12
bat (2/7)
 テストコード①(C#)
13
bat (3/7)
 テストコード①(C#)
14
bat (4/7)
 テストコード②(C#)
15
bat (5/7)
 テストコード②(C#)
16
bat (6/7)
 テストコード③(C#)
17
bat (7/7)
 テストコード③(C#)
18
VBScript (1/9)
 テスト対象のコード(sample.vbs)
19
VBScript (2/9)
 テストコード①(C#)
20
VBScript (3/9)
 テストコード①(C#)
21
VBScript (4/9)
 テストコード②(C#)
22
VBScript (5/9)
 テストコード②(C#)
23
VBScript (6/9)
 テストコード③(C#)
24
VBScript (7/9)
 テストコード③(C#)
25
VBScript (8/9)
 テストコード④(C#)
26
VBScript (9/9)
 テストコード④(C#)
27
PowerShell (1/9)
 テスト対象のコード(sample.ps1)
28
■PowerShell実行イメージ
PS C:UserssanoDesktop> ./sample.ps1 -name "ss" -filePath "c:testtest.txt"
PowerShell (2/9)
 テストコード①(C#)
29
PowerShell (3/9)
 テストコード①(C#)
30
PowerShell (4/9)
 テストコード②(C#)
31
PowerShell (5/9)
 テストコード②(C#)
32
PowerShell (6/9)
 テストコード③(C#)
33
PowerShell (7/9)
 テストコード③(C#)
34
PowerShell (8/9)
 テストコード④(C#)
35
PowerShell (9/9)
 テストコード④(C#)
36
お勧めの本
 Windows コマンドプロンプト
 Windows コマンドプロンプト ポケットリファレンス(3,002円。円技術評論社。
2011/12/9)
 VBScript / WSH
 [改訂版] VBScriptポケットリファレンス(2,030円。技術評論社。2006/5/30)
 WSHクイックリファレンス 第2版(4,104円。オライリージャパン。2006/10/24)
 PowerShell
 【改訂新版】 Windows PowerShell ポケットリファレンス(3,002円。技術評論社。
2013/2/23)
 C#の文法
 C#ポケットリファレンス(2,786円。技術評論社。2011/12/3)
 VB.NET / C#の入門書
 C#の絵本(1,922円。翔泳社。2008/2/5)
 Visual Basicの絵本(1,922円。翔泳社。2011/4/9)
37
参考URL(1/3)
PowerShellのセキュリティポリシーを変更してスクリプトファイルを実行できるようにする
http://qiita.com/kmr_hryk/items/6d3a63d84fd7feca2826
DOS/VBScript
http://rururu.sakura.ne.jp/doc/DOS_VBScript.pdf
VBScriptについて
http://rururu.sakura.ne.jp/doc/VBScript%E3%81%AB%E3%81%A4%E3%81%84%E3%81
%A6.pdf
Windowsコマンドプロンプト基礎文法最速マスター
http://windows.g.hatena.ne.jp/cx20/20100203/p1
VBScript 基礎文法最速マスター
http://vbscript.g.hatena.ne.jp/cx20/20100131/1264906231
PowerShell基礎文法最速マスター
http://winscript.jp/powershell/202
C#基礎文法最速マスター
http://anond.hatelabo.jp/20120813121640
38
参考URL(2/3)
C# からbatファイルを呼ぶにはSystem.Diagnostics.Processを使う
http://c4se.hatenablog.com/entry/2012/07/28/192511
C#アプリケーションでVBScriptファイルを呼び出す方法?
http://www.freeshow.net.cn/ja/questions/d3d5bdb7cbb6a00b413ad71f948dd0661
97f476cc19faf9c01f0b5294f8ab389/
C# Process
http://www.dotnetperls.com/process
PowerShell C#でInvoke-commandのリモート処理の戻り値を取得する方法
https://social.technet.microsoft.com/Forums/ja-JP/e9084418-626b-4b94-aeed-
b9ab7686a321/powershell-cinvokecommand?forum=powershellja
Microsoft TechNet Windows PowerShell
https://social.technet.microsoft.com/Forums/ja-JP/home?forum=powershellja
Powershell retrieving pipeline errors in C#
https://social.msdn.microsoft.com/Forums/exchange/en-US/b2bece71-72d7-4305-
ad81-02139959e643/powershell-retrieving-pipeline-errors-in-c
39
参考URL(3/3)
【Windows PowerShell】スクリプトの途中でスクリプトを強制終了する
http://munibus.hatenablog.com/entry/2014/01/22/053159
PowerShell/Windows7にPowerShell4.0をインストールする手順
http://win.just4fun.biz/PowerShell/Windows7%E3%81%ABPowerShell4.0%E3%82%
92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3
%81%99%E3%82%8B%E6%89%8B%E9%A0%86.html
コマンドレットの作成方法
http://csharper.blog57.fc2.com/blog-entry-55.html
PowerShell を C# から実行する
http://tech.tanaka733.net/entry/2013/12/10/powershell-from-csharp
【C#】C# から PowerShell を使うには
http://blogs.yahoo.co.jp/dk521123/archive/2013/11/25
Windows、バッチファイルの引数から、引数を囲んでいるダブルクォーテーション
を除去する
hhttp://piyopiyocs.blog115.fc2.com/blog-entry-801.html
40

More Related Content

PPTX
Pythonを中心としたチーム開発
PPT
ビジネス的に高価値なアジャイルテスト
PDF
第4回勉強会 単体テストのすすめ
PPTX
C++でテスト駆動開発
PPTX
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
PDF
Session11 - LabVIEW NXG Training Course
PPTX
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
PPTX
Friendlyを使ったwindowsアプリテスト自動化
Pythonを中心としたチーム開発
ビジネス的に高価値なアジャイルテスト
第4回勉強会 単体テストのすすめ
C++でテスト駆動開発
開発ビギナーだけじゃない!インフラエンジニア & マネージャー にも知ってほしいテスト自動化と品質管理
Session11 - LabVIEW NXG Training Course
【SQiP2014】システム操作インターフェイス最適化によるテスト自動化ROI向上
Friendlyを使ったwindowsアプリテスト自動化

What's hot (20)

PPTX
あるあるLT〜サーバーサイドエンジニア〜 Vol.3
PPT
一六社ブログ-プラグイン作成入門
PPTX
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
PPTX
PPTX
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
PPTX
App extensionでテストコードを書く
PPTX
Selenium勉強会
PPTX
単体テストで工数を短縮する
PPTX
Bindingからframework elementを見つける
PPT
テスト自動化ツール[Selenium]を検討してみて
PPTX
Selenium IDE for primer
PDF
PHPUnit でテスト駆動開発を始めよう
PDF
モックライブラリを使ってきちんとユニットテストする #Objective-C
PDF
ぼくのかんがえた iOSテスト戦略
PPTX
後期講座07
PDF
GUI Test is (not) necessary
PDF
テスト自動化の様々な道具を使ってみた四方山話
PPTX
テストしなイカ? Seleniumで自動ブラウザテスト
PPTX
価値あるシステムテスト自動化の実現By friendly
PDF
Selenium boot campの紹介
あるあるLT〜サーバーサイドエンジニア〜 Vol.3
一六社ブログ-プラグイン作成入門
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
App extensionでテストコードを書く
Selenium勉強会
単体テストで工数を短縮する
Bindingからframework elementを見つける
テスト自動化ツール[Selenium]を検討してみて
Selenium IDE for primer
PHPUnit でテスト駆動開発を始めよう
モックライブラリを使ってきちんとユニットテストする #Objective-C
ぼくのかんがえた iOSテスト戦略
後期講座07
GUI Test is (not) necessary
テスト自動化の様々な道具を使ってみた四方山話
テストしなイカ? Seleniumで自動ブラウザテスト
価値あるシステムテスト自動化の実現By friendly
Selenium boot campの紹介
Ad

Similar to Bat vb script_power_shellの単体テスト自動化 (20)

PDF
はこだてIKA 第4回勉強会 単体テスト
PPT
PHP agile test tips
PDF
Recap: PowerShell Core
PDF
Visual studio de debug
PDF
Windows PowerShell 5.0 と Windows Server vNext の管理
PDF
デスクトップ アプリ開発における Visual Studio の進化
PDF
PowerShell and Release Management Server
PDF
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
PDF
WTM53 phpフレームワーク いまさらcodeigniter
PPT
CruiseControl.NET設置
PDF
Java SE 9の紹介: モジュール・システムを中心に
PDF
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
PDF
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
PPTX
Visual Studio を使わず .NET する
PDF
Windowsストアアプリ開発 オープンセミナー広島
PDF
仮想マシンを使った開発環境の簡単共有方法
PPTX
Windows Azure PHP Tips
PPTX
Web matrix2とvisual studio
PDF
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
PPTX
Asp.net core mvc の core な話
はこだてIKA 第4回勉強会 単体テスト
PHP agile test tips
Recap: PowerShell Core
Visual studio de debug
Windows PowerShell 5.0 と Windows Server vNext の管理
デスクトップ アプリ開発における Visual Studio の進化
PowerShell and Release Management Server
[TL04] .NET 15 周年の今こそ考えるクラウドネイティブ アプリケーションと .NET の活用
WTM53 phpフレームワーク いまさらcodeigniter
CruiseControl.NET設置
Java SE 9の紹介: モジュール・システムを中心に
.NET Core と Container, そして Azure Web Apps on Linux による Web アプリ開発最前線
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
Visual Studio を使わず .NET する
Windowsストアアプリ開発 オープンセミナー広島
仮想マシンを使った開発環境の簡単共有方法
Windows Azure PHP Tips
Web matrix2とvisual studio
~ アプリ開発に新たな息吹を ~ クラウドが当たり前の今こそ知っておきたい Azure & Visual Studio コラボレーション
Asp.net core mvc の core な話
Ad

More from Naoyuki Sano (20)

PPTX
Aws centos7_wordpress_3
PPTX
無料のグループウェア調査
PPTX
プログラミングのEラーニング 学習サイト調査
PPTX
そろそろXamarin使ってみませんか 1
PPTX
Aws cent os7_wordpress_2
PPTX
Aws cent os7_wordpress_1
PPTX
Asp.net dynamic data調査
PPTX
Web forms scaffolding調査
PPTX
ファイルサーバー移行方法の調査
PPTX
Asp.net web forms_log4net
PPTX
Asp.net web forms_excel操作ライブラリ
PPTX
ASP.NET WebForms調査
PPTX
Vb script power_shellでメール送信
PPTX
自分のPcに仮想環境を作ってlinuxをインストールしてみよう
PPTX
Tera Termのインストール
PPTX
Virtual Boxのインストール
PPTX
AWS EC2 CentOS6.5+WordPress③
PPTX
AWS EC2 CentOS6.5+WordPress②
PPTX
AWS EC2 CentOS6.5+WordPress①
PPTX
レンタルサーバー/Vps/クラウド
Aws centos7_wordpress_3
無料のグループウェア調査
プログラミングのEラーニング 学習サイト調査
そろそろXamarin使ってみませんか 1
Aws cent os7_wordpress_2
Aws cent os7_wordpress_1
Asp.net dynamic data調査
Web forms scaffolding調査
ファイルサーバー移行方法の調査
Asp.net web forms_log4net
Asp.net web forms_excel操作ライブラリ
ASP.NET WebForms調査
Vb script power_shellでメール送信
自分のPcに仮想環境を作ってlinuxをインストールしてみよう
Tera Termのインストール
Virtual Boxのインストール
AWS EC2 CentOS6.5+WordPress③
AWS EC2 CentOS6.5+WordPress②
AWS EC2 CentOS6.5+WordPress①
レンタルサーバー/Vps/クラウド

Bat vb script_power_shellの単体テスト自動化