SlideShare a Scribd company logo
1 of 54
すずむら @179Bell
PHPにおけるテストの概要と実践
第33回PHP勉強会 講義
① テストの目的
テストの種類
テスト自動化ツールとは
実際にやってみる!!
本日の流れ
① テストの目的
テストの種類
テスト自動化ツールとは
実際にやってみる!!
①テストの目的
• 作ったプログラムが設計通りに動くか確かめる
•デグレーションを防ぐ
(他人がプログラムに変更や修正を加えて、プログラムが正常に動かなくなること。)
(大規模なシステムになるほど起こりやすく、見つからずにリリースされてしまうこともある。)
テストのメリット
• テストコードがドキュメントの役割を果たすので人が変わっても動き
がわかる
• プログラムが仕様通りに動いているかを確かめることができる
• テストを通しやすくするためにコードの質が高まる
テストのデメリット
• 仕様を変更したらテストコードをすぐに書き換えないと意味をなさない
• 実コード、テストコードを用意するので開発にかかる時間が長くなる
① テストの目的
テストの種類
テスト自動化ツールとは
実際にやってみる!!
②テストの種類
•単体テスト
•結合テスト
•総合テスト
②テストの種類
•単体テスト
•結合テスト
•総合テスト
単体テスト
• 開発環境でのテスト
• メソッド、関数のテストでプログラムの最小単位のテスト
(LaravelであればModel,Policy,Middlewareなど)
• これらのメソッドや関数が期待通りの実装になっているかテストする
• 詳細設計に基づいてテストケースが作られる
• 最小単位でのテストなので全体のバグ修正コストを下げることができる
• ただしスケジュールの関係でテストを飛ばされたり、不完全になりやす
い
• 単体テストは注目する観点からブラック・ホワイトテストに分けられる
ホワイトボックステスト
•内部を意識したテスト
•条件分岐、繰り返し処理、例外処理などあらゆるものの
動作確認をする
•造り手側目線のテスト
ブラックボックステスト
•想定された出力や動作がされているかのテスト
•要求仕様を満たしているかのテスト
•ユーザー側目線のテスト
フォームリクエストの単体テストの例
✅フォームリクエストを使う目的
•バリデーションルールを外部クラスにまとめることができる
•バリデーションルールをControllerから切り離すことでコードの量を減らす
•Controllerの可読性が高まる
•使い回しがきく
データプロバイダでtestArticleRequestにわたす引数の説明
※データプロバイダ
テストメソッドに任意の引数を渡すことのできるアノテーション
次のスライドで内容を載せています
テストメソッド
アノテーションで宣言した名前と同じである必要があるので注意
データプロバイダ
テストメソッドに渡す引数
$key
$value
②テストの種類
•単体テスト
•結合テスト
•総合テスト
②結合テスト
•インテグレーションテスト、ジョイントテストとも呼ばれる
•はじめてシステムが連携されるのでここで不具合を発見する必要が
ある
•複数システム間でデータの受け渡しができているかなどを確かめる
•単体テストよりも粒度が大きくControllerのテストが当てはまる
②テストの種類
•単体テスト
•結合テスト
•総合テスト
③総合テスト
•システム全体が要件を満たしているかを確かめる
•実環境(ブラウザ)やそれに近い環境でテストをする
•カーソルを持っていったらホバーするかやボタンが変わるかな
どをテストする
実装
単体テスト
詳細設計
結合テスト
総合テスト
基本設計
要件定義
V字モデル
(参考)テスト駆動開発とは
TDD
(Test Drive Development)
GREEN
RED REFACTARING
•仕様に基づきテストコードを書く
•テストコードを実行するとエラーが発生する
(実コードがないため)
•テストを通るように実コードを書く
•この時は確実にテストが通るように書く
•グリーンで通ったコードをさらに読みやすくする
•グリーンを通過する都度やったほうが手をつけやすい
(比較)一般的な開発の流れ
1. 設計を決める
2. 設計に基づきコードを書く
3. 設計に基づきテストコードを書く
4. テストを実行する
5. エラーが起きた箇所を修正、リファクタリング
TDDのメリット
•後工程にバグを残しにくい
→ 初期段階で不具合の検知修正をするから
•設計への理解が深まる
→ ・テストコードを書くために仕様を理解する必要がある
・テストコードと実装内容の乖離にも気付ける
•開発の心理的負担が経る
→ TDDであれば追加の機能が追加されるたびにテストされている
から
TDDのデメリット
•仕様が変わるたびにテストコードを書き直す必要がある
•開発時間がかかる
→ ・テストコードの品質を保つ必要がある
・開発方法の違いに慣れる必要がある
•従来の開発方法とは異なるのである程度の経験と慣れが必要
→ いきなりテストコードから書くのは難しい
① テストの目的
テストの種類
テスト自動化ツールとは
実際にやってみる!!
③テスト自動化ツールとは
•入力したテストコードの実行を自動的に行い、エラーがあればその箇
所を表示する
•テストに便利な機能が備えられており、定められた規約に沿ったテス
トコードを書くことでテストを自動化できる
•PHPならPHPUnit、RubyならRspecがある
PHPUnitの使い方
•LaravelであればPHPUnitが標準装備されているのですぐに使える
• php artisan make:test ○○Test のようにテストファイルを作成する
•作成したテストファイルは src/tests内に格納される
•テストメソッドの中でアサーションメソッドを必ず使う(使わないと
エラーが出ます)
テストの命名規則
•ファイル名は〇〇Test.phpのようにテスト対象クラスに「Test」という
文字列をつける
•テストメソッドの名称は「test」とメソッド名の前に付け加える
•@testアノテーションをつけるとテストメソッドと示されるのでメソッ
ド名を日本語で書ける
① テストの目的
テストの種類
テスト自動化ツールとは
実際にやってみる!!
Fakerを使ったダミーデータの作成
•Seeder → 少量のダミーデータの作成
•Faker → 大量のダミーデータを一気に作成できる
Laravelのメソッド
•Factory → ダミーデータを作るファイル
Fakerの使い方
• php artisan make:factory ○○FactoryでSrc/databases/factoriesの中にfactoryファイル
が作られる
Fakerの使い方
ダミーデータを入力するモデル名を入力
カラム名
Fakerメソッド(一部)の紹介
•$faker->name → 名前
•$faker->postcode → 郵便番号
•$faker->email → メールアドレス
• $faker->phoneNumber → 電話番号 etc…
たくさんあるので調べてみて下さい!!
ArticlesControllerでテストをする!
テストケース①
•indexメソッド
・HTTPリクエストが通りレスポンスが返るか
・一覧ページが表示されるか
•create,storeメソッド
・作成画面に遷移できるか
・入力して保存、投稿一覧画面に戻るか
•editメソッド
・編集画面に遷移するか
テストケース②
•updateメソッド
・編集して保存ができるか
・保存した値はDBに存在するか
・バリデーションエラーを起こしてみる
・一覧画面にリダイレクトするか
•destroyメソッド
・投稿が削除できるか
・削除した値はDBに存在しないか
ArticlesControllerTestの作成
ターミナルでphp artisan make:test ○○Testと入力
Src/tests/Featureの下にファイルができる
indexメソッドのテスト
factoryでダミーデータを作成する
記事を投稿するには認証済である必要があるのでユーザーを
作成して認証済ユーザーとして振る舞う必要がある
actingAs()がそれを行うメソッド
テストのたびにDBをリセットするトレイト
(リセットしないとDBに値が残ってしまう)
指定されたViewが返されているか確認するアサーション
factory(Model名::class)でモデルに連携するfactoryを呼び出しダミーデータを生成することができる!
indexメソッドを呼び出すリクエストのレスポンスを$responseに代入
返ってきたレスポンスのステータスコードを確認
成功!!
テストの実行 → ./vendor/bin/phpunit tests/Feature/テストのファイル名
※実行したいテストがUnitディレクトリの下ならFeatureをUnitに変える
もしテストが通らなかった時
viewファイルを違うところに保存してみる
テストコードで指定されたviewが返っていない、ArticlesControllerTestの34行目がおかしい。
HTTPレスポンスが返ってきていない
create,storeメソッドをテストするその前に!
$user = factory(User::class)->create();
$this->actingAs($user);
これを毎回同じことを繰り返すのはよくない
※DRY(donot repeat youself)の原則
setUpメソッドを使用して
繰り返し使うものを先に定義しておく!
同じものを何度も繰り返すのは避けよう!!
✅setUpメソッド
•各テストメソッドの実行前に呼ばれるメソッド
•テストメソッド呼び出すたび処理される
✅tearDownメソッド
•setUpと逆にテストメソッドの実行後に行いたい処理をするためのメソッド
•テストメソッド呼び出すたび処理される
✅setUpBeforeClassメソッド
•上記2つと異なりテストケース全体の前処理
•つまり一番最初のメソッドの前に一度だけ処理される
✅tearDonwAfterClassメソッド
•setUpBeforeClassの逆の処理
•一番最後に実行されるメソッドの後で処理される
フィクスチャ
setUpメソッドを使って処理を共通化
記事投稿機能のテスト
create画面が表示されるかどうか
GETリクエストを出してレスポンスが返ってくるか
記事投稿画面のviewが表示されるかどうか
Categoryテーブルのためのデータを入れる
※ArticleテーブルはCategoryテーブルの子テーブル
なのでデータを入れないとエラーが出る
テストデータを$dataに格納してPOST送信
テストデータがDBに保存されているか確認
保存後一覧画面にリダイレクトしているか確認
記事を作成して保存する
記事編集機能のテスト
user_idをログインしているユーザのidにする
(403が出てしまうので)
※403 : Unauthorized(権限がない)
記事編集機能のテスト
更新するデータを登録
(全部入れないとエラーが出ます)
updateメソッドで更新
DBに値があるか確認
一覧画面にリダイレクトするか確認
記事削除機能のテスト
deleteメソッドを実行
論理削除を使用することになっているので
assertSoftDeletedでソフトデリートされているか確認
記事削除機能のテスト
•今回のテストは手順を少なくするためにかなり省略してます
•テスト用のDBを用意してテストを実行することが望ましいです
•初学者が自力で調べてやったテストなのでテストケースなど間違っている場合
•使用したアサートはごく一部です。(たくさんあるので調べてみて下さい)

More Related Content

What's hot

型チェックのアノテーションによる保守・運用の改善
型チェックのアノテーションによる保守・運用の改善型チェックのアノテーションによる保守・運用の改善
型チェックのアノテーションによる保守・運用の改善gree_tech
 
mypy - 待望のPython3.9型ヒント対応
mypy - 待望のPython3.9型ヒント対応mypy - 待望のPython3.9型ヒント対応
mypy - 待望のPython3.9型ヒント対応KyutatsuNishiura
 
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説Tatsuya Ishikawa
 
Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化Tatsuya Ishikawa
 
Unit testで定時帰宅!
Unit testで定時帰宅!Unit testで定時帰宅!
Unit testで定時帰宅!Funato Takashi
 
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編Kenji Fukumoto
 
Shibya.trac #2: TracとTestLinkの合わせ技
Shibya.trac #2: TracとTestLinkの合わせ技Shibya.trac #2: TracとTestLinkの合わせ技
Shibya.trac #2: TracとTestLinkの合わせ技Toshiyuki Kawanishi
 
超簡単!!なTestLinkの使い方
超簡単!!なTestLinkの使い方超簡単!!なTestLinkの使い方
超簡単!!なTestLinkの使い方Cake YOSHIDA
 
「継続的デリバリー」読書会 第3章 継続的デリバリー
「継続的デリバリー」読書会 第3章 継続的デリバリー「継続的デリバリー」読書会 第3章 継続的デリバリー
「継続的デリバリー」読書会 第3章 継続的デリバリーNorikazu Hiraki
 
テストしなイカ? Seleniumで自動ブラウザテスト
テストしなイカ? Seleniumで自動ブラウザテストテストしなイカ? Seleniumで自動ブラウザテスト
テストしなイカ? Seleniumで自動ブラウザテストOhishi Mikage
 
Bindingからframework elementを見つける
Bindingからframework elementを見つけるBindingからframework elementを見つける
Bindingからframework elementを見つけるTatsuya Ishikawa
 
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテストJUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテストShuji Watanabe
 
自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介Shinsuke Matsuki
 
デプロイメントパイプラインって何?
デプロイメントパイプラインって何?デプロイメントパイプラインって何?
デプロイメントパイプラインって何?ke-m kamekoopa
 

What's hot (20)

型チェックのアノテーションによる保守・運用の改善
型チェックのアノテーションによる保守・運用の改善型チェックのアノテーションによる保守・運用の改善
型チェックのアノテーションによる保守・運用の改善
 
Sue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hackSue445 Style TDD #atest_hack
Sue445 Style TDD #atest_hack
 
mypy - 待望のPython3.9型ヒント対応
mypy - 待望のPython3.9型ヒント対応mypy - 待望のPython3.9型ヒント対応
mypy - 待望のPython3.9型ヒント対応
 
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
Friendlyで始めるwindowsアプリシステムテスト自動化+内部使用技術解説
 
開発ワークフロー
開発ワークフロー開発ワークフロー
開発ワークフロー
 
Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化Friendlyを使ったwindowsアプリテスト自動化
Friendlyを使ったwindowsアプリテスト自動化
 
Twitter4Jとテスト
Twitter4JとテストTwitter4Jとテスト
Twitter4Jとテスト
 
Unit testで定時帰宅!
Unit testで定時帰宅!Unit testで定時帰宅!
Unit testで定時帰宅!
 
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
FriendlyによるWindowsアプリテスト自動化手法 基礎技術編
 
.Netconf
.Netconf.Netconf
.Netconf
 
Shibya.trac #2: TracとTestLinkの合わせ技
Shibya.trac #2: TracとTestLinkの合わせ技Shibya.trac #2: TracとTestLinkの合わせ技
Shibya.trac #2: TracとTestLinkの合わせ技
 
超簡単!!なTestLinkの使い方
超簡単!!なTestLinkの使い方超簡単!!なTestLinkの使い方
超簡単!!なTestLinkの使い方
 
「継続的デリバリー」読書会 第3章 継続的デリバリー
「継続的デリバリー」読書会 第3章 継続的デリバリー「継続的デリバリー」読書会 第3章 継続的デリバリー
「継続的デリバリー」読書会 第3章 継続的デリバリー
 
テストしなイカ? Seleniumで自動ブラウザテスト
テストしなイカ? Seleniumで自動ブラウザテストテストしなイカ? Seleniumで自動ブラウザテスト
テストしなイカ? Seleniumで自動ブラウザテスト
 
Bindingからframework elementを見つける
Bindingからframework elementを見つけるBindingからframework elementを見つける
Bindingからframework elementを見つける
 
PHP agile test tips
PHP agile test tipsPHP agile test tips
PHP agile test tips
 
20150131 mvp com_camp_lt
20150131 mvp com_camp_lt20150131 mvp com_camp_lt
20150131 mvp com_camp_lt
 
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテストJUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
 
自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介
 
デプロイメントパイプラインって何?
デプロイメントパイプラインって何?デプロイメントパイプラインって何?
デプロイメントパイプラインって何?
 

Similar to Php勉強会スライド

TDDはじめる前に
TDDはじめる前にTDDはじめる前に
TDDはじめる前にYasui Tsutomu
 
Gui自動テストツール基本
Gui自動テストツール基本Gui自動テストツール基本
Gui自動テストツール基本Tsuyoshi Yumoto
 
テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1Hiro Yoshioka
 
How to Develop Experiment-Oriented Programs
How to Develop Experiment-Oriented ProgramsHow to Develop Experiment-Oriented Programs
How to Develop Experiment-Oriented ProgramsKenta Oono
 
大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験についてRakuten Group, Inc.
 
プログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはプログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはKatsutoshi Makino
 
開発品質向上のための、ASQ/ALMソリューション ~品質向上策・活用していないのは何故ですか?~
開発品質向上のための、ASQ/ALMソリューション ~品質向上策・活用していないのは何故ですか?~開発品質向上のための、ASQ/ALMソリューション ~品質向上策・活用していないのは何故ですか?~
開発品質向上のための、ASQ/ALMソリューション ~品質向上策・活用していないのは何故ですか?~mafujiwara
 
レガシーコード読書会 20120618
レガシーコード読書会 20120618レガシーコード読書会 20120618
レガシーコード読書会 20120618Suguru Shirai
 
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02Hiro Yoshioka
 
テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門Satoshi Watanabe
 
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか  #rakutentech【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか  #rakutentech
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentechKotaro Ogino
 
Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例健一 辰濱
 
19-B-4 開発品質向上のための、ASQ/ALMソリューション
19-B-4 開発品質向上のための、ASQ/ALMソリューション19-B-4 開発品質向上のための、ASQ/ALMソリューション
19-B-4 開発品質向上のための、ASQ/ALMソリューションDevelopers Summit
 
GCSアジャイル開発を使ったゲームの作り方
 GCSアジャイル開発を使ったゲームの作り方 GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方Hiroyuki Tanaka
 
8人の匠によるテスト戦略20080918
8人の匠によるテスト戦略200809188人の匠によるテスト戦略20080918
8人の匠によるテスト戦略20080918ssugiya
 
自動テストで開発効率を上げるには
自動テストで開発効率を上げるには自動テストで開発効率を上げるには
自動テストで開発効率を上げるにはWataru Terada
 
Php development efficiency improvement
Php development efficiency improvementPhp development efficiency improvement
Php development efficiency improvement伸幸 茂木
 
【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST
【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST
【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSSTKotaro Ogino
 

Similar to Php勉強会スライド (20)

TDDはじめる前に
TDDはじめる前にTDDはじめる前に
TDDはじめる前に
 
Gui自動テストツール基本
Gui自動テストツール基本Gui自動テストツール基本
Gui自動テストツール基本
 
テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1テスト勉強会よしおか100311 1
テスト勉強会よしおか100311 1
 
How to Develop Experiment-Oriented Programs
How to Develop Experiment-Oriented ProgramsHow to Develop Experiment-Oriented Programs
How to Develop Experiment-Oriented Programs
 
大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について大規模ソフトウェア開発とテストの経験について
大規模ソフトウェア開発とテストの経験について
 
プログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはプログラマが欲しい仕様書とは
プログラマが欲しい仕様書とは
 
開発品質向上のための、ASQ/ALMソリューション ~品質向上策・活用していないのは何故ですか?~
開発品質向上のための、ASQ/ALMソリューション ~品質向上策・活用していないのは何故ですか?~開発品質向上のための、ASQ/ALMソリューション ~品質向上策・活用していないのは何故ですか?~
開発品質向上のための、ASQ/ALMソリューション ~品質向上策・活用していないのは何故ですか?~
 
レガシーコード読書会 20120618
レガシーコード読書会 20120618レガシーコード読書会 20120618
レガシーコード読書会 20120618
 
TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02TDDBC osaka 2012/06/02
TDDBC osaka 2012/06/02
 
テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門
 
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか  #rakutentech【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか  #rakutentech
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
 
Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例
 
Gamedevenvstudy1
Gamedevenvstudy1Gamedevenvstudy1
Gamedevenvstudy1
 
19-B-4 開発品質向上のための、ASQ/ALMソリューション
19-B-4 開発品質向上のための、ASQ/ALMソリューション19-B-4 開発品質向上のための、ASQ/ALMソリューション
19-B-4 開発品質向上のための、ASQ/ALMソリューション
 
Software Test Basic
Software Test BasicSoftware Test Basic
Software Test Basic
 
GCSアジャイル開発を使ったゲームの作り方
 GCSアジャイル開発を使ったゲームの作り方 GCSアジャイル開発を使ったゲームの作り方
GCSアジャイル開発を使ったゲームの作り方
 
8人の匠によるテスト戦略20080918
8人の匠によるテスト戦略200809188人の匠によるテスト戦略20080918
8人の匠によるテスト戦略20080918
 
自動テストで開発効率を上げるには
自動テストで開発効率を上げるには自動テストで開発効率を上げるには
自動テストで開発効率を上げるには
 
Php development efficiency improvement
Php development efficiency improvementPhp development efficiency improvement
Php development efficiency improvement
 
【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST
【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST
【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST
 

Php勉強会スライド