Submit Search
Upload
PHPUnitTest勉強会スライド
•
0 likes
•
9 views
S
ssuser7a9029
Follow
PHPUnitの勉強会のスライドを一つにまとめました。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 25
Download now
Download to read offline
Recommended
テストコードの定型化
テストコードの定型化
Shinichi Hirauchi
継続的に有効に機能するテストコードを書くための提案
xUnit Test Patterns - Chapter11
xUnit Test Patterns - Chapter11
Takuto Wada
handout for xUnit Test Patterns Reading Groups Japan
CMSI計算科学技術特論C (2015) OpenMX とDFT②
CMSI計算科学技術特論C (2015) OpenMX とDFT②
Computational Materials Science Initiative
Computational Materials Science Initiative
ユニットテスト 1日目
ユニットテスト 1日目
Yoshiki Shibukawa
Python Developer Camp2008 ユニットテストの紹介スライド
C# から java へのプログラム移植で体験したtddの効果は?
C# から java へのプログラム移植で体験したtddの効果は?
Shinichi Hirauchi
TDD超入門者、 Java 超初心者が体験したパラダイムシフト 2013.01.19 CLR/H#78
ソフトウェア・テスト入門8
ソフトウェア・テスト入門8
Kenta Hattori
ソフトウェア基礎講座資料
xUTP Chapter19 (2). Testcase Class
xUTP Chapter19 (2). Testcase Class
Takuto Wada
handout for xUnit Test Patterns Reading Group Japan
CMSI計算科学技術特論C (2015) MODYLAS と古典MD①
CMSI計算科学技術特論C (2015) MODYLAS と古典MD①
Computational Materials Science Initiative
Computational Materials Science Initiative
Recommended
テストコードの定型化
テストコードの定型化
Shinichi Hirauchi
継続的に有効に機能するテストコードを書くための提案
xUnit Test Patterns - Chapter11
xUnit Test Patterns - Chapter11
Takuto Wada
handout for xUnit Test Patterns Reading Groups Japan
CMSI計算科学技術特論C (2015) OpenMX とDFT②
CMSI計算科学技術特論C (2015) OpenMX とDFT②
Computational Materials Science Initiative
Computational Materials Science Initiative
ユニットテスト 1日目
ユニットテスト 1日目
Yoshiki Shibukawa
Python Developer Camp2008 ユニットテストの紹介スライド
C# から java へのプログラム移植で体験したtddの効果は?
C# から java へのプログラム移植で体験したtddの効果は?
Shinichi Hirauchi
TDD超入門者、 Java 超初心者が体験したパラダイムシフト 2013.01.19 CLR/H#78
ソフトウェア・テスト入門8
ソフトウェア・テスト入門8
Kenta Hattori
ソフトウェア基礎講座資料
xUTP Chapter19 (2). Testcase Class
xUTP Chapter19 (2). Testcase Class
Takuto Wada
handout for xUnit Test Patterns Reading Group Japan
CMSI計算科学技術特論C (2015) MODYLAS と古典MD①
CMSI計算科学技術特論C (2015) MODYLAS と古典MD①
Computational Materials Science Initiative
Computational Materials Science Initiative
Spock's world
Spock's world
Takuma Watabiki
JJUG CCC 2012 Fall でのスライドです。
Nose 鼻をきかせてテストせよ
Nose 鼻をきかせてテストせよ
Atsushi Odagiri
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
hakoika-itwg
はこだてIKA ITWG 第4回勉強会 単体テストのすすめで使用した資料です。 発表後に資料を追加してたりします。
使い捨て python コードの書き方
使い捨て python コードの書き方
Sho Shimauchi
pyfes LT 2012.08 でしゃべったときのスライドです
cs-11. Python の条件分岐と繰り返し,ステップ実行
cs-11. Python の条件分岐と繰り返し,ステップ実行
kunihikokaneko1
トピックス:Python, 条件分岐, 繰り返し, ステップ実行, 情報工学, コンピューターサイエンス コンピューターサイエンス(全15回) https://www.kkaneko.jp/cc/cs/index.html 金子邦彦研究室ホームページ https://www.kkaneko.jp/index.html
PsychoPyを使った初学者向けの心理実験環境の構築
PsychoPyを使った初学者向けの心理実験環境の構築
Hirokazu Ogawa
日本心理学会第78回大会(於 同志社大学)において開催された公募シンポジウム「心理学実験のためのプログラミング環境の現状と今後」で使用したスライド資料です。
[DL Hacks]色々と進化しているTensorFlow - 紹介編 -
[DL Hacks]色々と進化しているTensorFlow - 紹介編 -
Deep Learning JP
2018/09/10 Deep Learning JP: http://deeplearning.jp/hacks/
PHP agile test tips
PHP agile test tips
Tsutomu Chikuba
PHPUnit_Framework_TestCase Zend_Test_PHPUnit_ControllerTestCase PHPUnit_Extensions_Selenium2TestCase
PHPUnit でテスト駆動開発を始めよう
PHPUnit でテスト駆動開発を始めよう
Yuya Takeyama
Unit testで定時帰宅!
Unit testで定時帰宅!
Funato Takashi
Development and Experiment of Deep Learning with Caffe and maf
Development and Experiment of Deep Learning with Caffe and maf
Kenta Oono
2014/10/30 PyData Tokyo Meetup #1
UnrealBuildTool勉強会まとめ
UnrealBuildTool勉強会まとめ
Shun Sasaki
このスライドは、Unreal Engine 4のビルドプロセスの解析のまとめです。 2014/11/22 にクローズドな勉強会としてプログラマ5名、約半日で分かったことをまとめてあります。 不正確な内容や、調査途中の内容を含みます。本勉強会では、UE4.5.1を使用しました。ターゲットプラットフォームはWindows 64bit です。 会場提供: 株式会社ヒストリア
Cake php + php unitによる実践的ユニットテスト
Cake php + php unitによる実践的ユニットテスト
慶信 若松
Introduction to Continuous Testing
Introduction to Continuous Testing
Atsuhiro Kubo
This presentation describes introduction to Continuous Testing for PHP.
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
Takako Miyagawa
まだ作成途中ですが、意見をいただきながら作った方がよさげなので、作成途中の資料を晒してしまうことにします。
研究を基にしたオープンソース開発チェックポイント
研究を基にしたオープンソース開発チェックポイント
Recruit Technologies
研究室が研究を基に OSS を開発、公開するときに気をつけるポイントをまとめました。
TDD Boot Camp Tokyo for C++ 2014-01 補講
TDD Boot Camp Tokyo for C++ 2014-01 補講
Takashi Imagire
TDD Boot Camp Tokyo for C++ 2014-01 で使用したテスト手法・技法の説明の資料です。
第1回JUnit勉強会ハンズオン
第1回JUnit勉強会ハンズオン
equj65
社内で実施したJUnit勉強会(ハンズオン)第一回資料 JUnitのテストクラス定義、メソッド定義、アサーションの実施方法、構造化テストなどJUnitの基本的な利用方法を学習する。
Chef
Chef
yaasita
8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室
Yusuke Ando
ビルドの基本と:
How to Develop Experiment-Oriented Programs
How to Develop Experiment-Oriented Programs
Kenta Oono
20140925 PFI seminar (ver. 1.0)
リファクタリング読書会20120220
リファクタリング読書会20120220
Suguru Shirai
More Related Content
What's hot
Spock's world
Spock's world
Takuma Watabiki
JJUG CCC 2012 Fall でのスライドです。
Nose 鼻をきかせてテストせよ
Nose 鼻をきかせてテストせよ
Atsushi Odagiri
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
hakoika-itwg
はこだてIKA ITWG 第4回勉強会 単体テストのすすめで使用した資料です。 発表後に資料を追加してたりします。
使い捨て python コードの書き方
使い捨て python コードの書き方
Sho Shimauchi
pyfes LT 2012.08 でしゃべったときのスライドです
cs-11. Python の条件分岐と繰り返し,ステップ実行
cs-11. Python の条件分岐と繰り返し,ステップ実行
kunihikokaneko1
トピックス:Python, 条件分岐, 繰り返し, ステップ実行, 情報工学, コンピューターサイエンス コンピューターサイエンス(全15回) https://www.kkaneko.jp/cc/cs/index.html 金子邦彦研究室ホームページ https://www.kkaneko.jp/index.html
PsychoPyを使った初学者向けの心理実験環境の構築
PsychoPyを使った初学者向けの心理実験環境の構築
Hirokazu Ogawa
日本心理学会第78回大会(於 同志社大学)において開催された公募シンポジウム「心理学実験のためのプログラミング環境の現状と今後」で使用したスライド資料です。
[DL Hacks]色々と進化しているTensorFlow - 紹介編 -
[DL Hacks]色々と進化しているTensorFlow - 紹介編 -
Deep Learning JP
2018/09/10 Deep Learning JP: http://deeplearning.jp/hacks/
PHP agile test tips
PHP agile test tips
Tsutomu Chikuba
PHPUnit_Framework_TestCase Zend_Test_PHPUnit_ControllerTestCase PHPUnit_Extensions_Selenium2TestCase
What's hot
(8)
Spock's world
Spock's world
Nose 鼻をきかせてテストせよ
Nose 鼻をきかせてテストせよ
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
使い捨て python コードの書き方
使い捨て python コードの書き方
cs-11. Python の条件分岐と繰り返し,ステップ実行
cs-11. Python の条件分岐と繰り返し,ステップ実行
PsychoPyを使った初学者向けの心理実験環境の構築
PsychoPyを使った初学者向けの心理実験環境の構築
[DL Hacks]色々と進化しているTensorFlow - 紹介編 -
[DL Hacks]色々と進化しているTensorFlow - 紹介編 -
PHP agile test tips
PHP agile test tips
Similar to PHPUnitTest勉強会スライド
PHPUnit でテスト駆動開発を始めよう
PHPUnit でテスト駆動開発を始めよう
Yuya Takeyama
Unit testで定時帰宅!
Unit testで定時帰宅!
Funato Takashi
Development and Experiment of Deep Learning with Caffe and maf
Development and Experiment of Deep Learning with Caffe and maf
Kenta Oono
2014/10/30 PyData Tokyo Meetup #1
UnrealBuildTool勉強会まとめ
UnrealBuildTool勉強会まとめ
Shun Sasaki
このスライドは、Unreal Engine 4のビルドプロセスの解析のまとめです。 2014/11/22 にクローズドな勉強会としてプログラマ5名、約半日で分かったことをまとめてあります。 不正確な内容や、調査途中の内容を含みます。本勉強会では、UE4.5.1を使用しました。ターゲットプラットフォームはWindows 64bit です。 会場提供: 株式会社ヒストリア
Cake php + php unitによる実践的ユニットテスト
Cake php + php unitによる実践的ユニットテスト
慶信 若松
Introduction to Continuous Testing
Introduction to Continuous Testing
Atsuhiro Kubo
This presentation describes introduction to Continuous Testing for PHP.
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
Takako Miyagawa
まだ作成途中ですが、意見をいただきながら作った方がよさげなので、作成途中の資料を晒してしまうことにします。
研究を基にしたオープンソース開発チェックポイント
研究を基にしたオープンソース開発チェックポイント
Recruit Technologies
研究室が研究を基に OSS を開発、公開するときに気をつけるポイントをまとめました。
TDD Boot Camp Tokyo for C++ 2014-01 補講
TDD Boot Camp Tokyo for C++ 2014-01 補講
Takashi Imagire
TDD Boot Camp Tokyo for C++ 2014-01 で使用したテスト手法・技法の説明の資料です。
第1回JUnit勉強会ハンズオン
第1回JUnit勉強会ハンズオン
equj65
社内で実施したJUnit勉強会(ハンズオン)第一回資料 JUnitのテストクラス定義、メソッド定義、アサーションの実施方法、構造化テストなどJUnitの基本的な利用方法を学習する。
Chef
Chef
yaasita
8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室
Yusuke Ando
ビルドの基本と:
How to Develop Experiment-Oriented Programs
How to Develop Experiment-Oriented Programs
Kenta Oono
20140925 PFI seminar (ver. 1.0)
リファクタリング読書会20120220
リファクタリング読書会20120220
Suguru Shirai
8時間耐久PHPUnitの教室
8時間耐久PHPUnitの教室
Yusuke Ando
下北沢で開催したPHPUnit講座の資料です。 動画などはこちら。 http://blog.candycane.jp/archives/1480
PHP基礎勉強会
PHP基礎勉強会
Yuji Otani
社内で行ったPHP基礎勉強会の資料です。深い内容までは踏み込んでいませんが、幅広い内容を取り上げています。
基礎構文班 17回目 クラスとメソッド
基礎構文班 17回目 クラスとメソッド
XMLProJ2014
Php勉強会資料20090629
Php勉強会資料20090629
Takako Miyagawa
ユニットテスト_2日目
ユニットテスト_2日目
Yoshiki Shibukawa
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnit
Atsuhiro Kubo
Similar to PHPUnitTest勉強会スライド
(20)
PHPUnit でテスト駆動開発を始めよう
PHPUnit でテスト駆動開発を始めよう
Unit testで定時帰宅!
Unit testで定時帰宅!
Development and Experiment of Deep Learning with Caffe and maf
Development and Experiment of Deep Learning with Caffe and maf
UnrealBuildTool勉強会まとめ
UnrealBuildTool勉強会まとめ
Cake php + php unitによる実践的ユニットテスト
Cake php + php unitによる実践的ユニットテスト
Introduction to Continuous Testing
Introduction to Continuous Testing
Code igniterでテスト駆動開発 資料作成中
Code igniterでテスト駆動開発 資料作成中
研究を基にしたオープンソース開発チェックポイント
研究を基にしたオープンソース開発チェックポイント
TDD Boot Camp Tokyo for C++ 2014-01 補講
TDD Boot Camp Tokyo for C++ 2014-01 補講
第1回JUnit勉強会ハンズオン
第1回JUnit勉強会ハンズオン
Chef
Chef
8時間耐久 PHP構築の教室
8時間耐久 PHP構築の教室
How to Develop Experiment-Oriented Programs
How to Develop Experiment-Oriented Programs
リファクタリング読書会20120220
リファクタリング読書会20120220
8時間耐久PHPUnitの教室
8時間耐久PHPUnitの教室
PHP基礎勉強会
PHP基礎勉強会
基礎構文班 17回目 クラスとメソッド
基礎構文班 17回目 クラスとメソッド
Php勉強会資料20090629
Php勉強会資料20090629
ユニットテスト_2日目
ユニットテスト_2日目
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnit
Recently uploaded
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
JSAI2024の発表スライドです.
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
Ce Zheng, Wenhan Wu, Chen Chen, Taojiannan Yang, Sijie Zhu, Ju Shen, Nasser Kehtarnavaz, Mubarak Shah, "Deep Learning-Based Human Pose Estimation: A Survey" arXiv2020 https://arxiv.org/abs/2012.13392
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
Generating Automatic Feedback on UI Mockups with Large Language Modelsを和訳紹介したものです
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
我々はこれまで,新たなモノを産出する過程において「便利にすること」によって副次的に生じる課題を「便利の副作用」と定義し,その低減を目的としてアイディアの発想支援手法を提案してきた. これまでの研究では,便利前後の行為の増減に着目することにより便利の副作用への気づきの誘発が示唆されたものの,行為の増減の提示による便利の副作用への気づきへの影響は十分に検討できていなかった. そのため,本稿では行為の提示により便利の副作用に気づき,それを防いだアイディアの発想の支援が可能かの検証を目的として実験を行い,その有効性について検証する. 実験では,行為の増減の提示の有無によりアイディア発想にどのような影響を与えるか検証を行う.
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
オープンエンドな進化から着想を得て、個々の大規模言語モデル(LLM)が、グループとして学習を進めながら、ノームエージェントとして機能するという概念を探求しています。これは、単一のモデルでは難しい複雑な問題を解決することを目的としています。具体的な方法として、遺伝的アルゴリズムと知識蒸留を組み合わせた学習プロセスを提案しています。知識蒸留によって学習を進め、同時に遺伝的アルゴリズムでハイパーパラメータを最適化することで、より効率的な学習を目指します。ドメインタスクとして、指示からPythonコードを生成するコード生成タスクを選択しました。実験では、学習に3つの学習モデルと1つの教師モデルを使用しました。その結果、HumanEvalのpass@1で精度が1.2%向上し、学習が進むにつれて学習率が最適化された兆候が見られました。しかし、大幅な精度向上を達成し、さまざまなハイパーパラメータを最適化するには、まだ課題が残っています。
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
Takayuki Nakayama
キンドリルネットワークアセスメントサービス
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
RIZAPテクノロジーズ株式会社の会社説明資料です。
Recently uploaded
(8)
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
PHPUnitTest勉強会スライド
1.
1時間で分かる PHPUnit講座 水島創太 1
2.
プロジェクトの配置 • ¥C:直下にzipファイルを解凍して配置 2
3.
目次 1. そもそもユニットテストって何? 2. PHPUnitについて 3.
実際にPHPUnitでコードを書いてみよう! 4. まとめ 3
4.
4 そもそもユニットテストって?
5.
ユニットテスト=メソッド単位のテスト 5 <?php // クラス class Human { //
メソッド function eat ($food) { $foodを噛む; $foodを溶かす; $foodを吸収; return 栄養; } } ?> • テスト: 実装したプログラムが 設計した通りに動くか 確認 • クラス: 共通する変数や メソッドをまとめたもの • メソッド: 処理をまとめて 名前をつけたもの
6.
ユニットテストのメリット 1. 範囲が狭いので問題の原因や修正箇所の特 定が容易 2. テストコードを資産として残せる 3.
疎結合なソースコードの記述を意識しやすい 6
7.
ではPHPUnitとは? • テスティングフレームワーク • ユニットテストの手順をPHPプログラムと して作成し、自動実行できるツール •
メソッドが想定通りに動くか自動確認 できる! 7
8.
どうやってテストをするのか? • メソッドの実行結果が期待値と一致するか • 期待値
= 処理が実行された結果の予想 8 /** * 渡された値に+1をして返却する. */ public function add(int $num) { return $num + 1; } 1 $num 結果 期待値: 2 2
9.
長々と話しましたが・・・・・・ • PHPUnitでテストコードを 書いてみよう! 9
10.
今回のテスト完了基準 • コードカバレッジ100%(分岐網羅) +
条件網羅 1. $numberが3の倍数の時、”Fizz”を返却する 2. $numberが5の倍数の時、”Buzz”を返却する 3. $numberが3と5の倍数の時、”FizzBuzz”が返却される 4. $numberが3の倍数でも5の倍数でもない時、 $numberに渡された数値がそのまま返却される ※コードカバレッジ : 対象のプログラム全体の中でテストが行われた部分の割合 ※分岐網羅: それぞれの判定条件における真偽が少なくとも1回は実行される ※条件網羅: それぞれの条件文における真偽が少なくとも1回は実行される
11.
テストファイルの実行設定 • phpunit.xml.dist:テストの実行計画ファイル テストコード実行する対象を指定 ディレクトリ単位でもファイル単位 でも指定できる テストコード対象に選択しない
12.
テストコード作成のルール① • Class名は「テスト対象名 +
Test」 class HogeHogeTest { }
13.
テストコード作成のルール② • PHPUnitの「TestCase」クラスを継承すること Class HogeHogeTest
extends TestCase { }
14.
テストコード作成のルール③ • テストしたいメソッドごとにテストメソッドを作成 • テストメソッドは「test+メソッド名」 Class
HogeHogeTest extends TestCase { public function testHogeHoge() { } }
15.
どうやってテストをするのか? • メソッドの実行結果が期待値と一致するか • 期待値
= 処理が実行された結果の予想 15 /** * 渡された値に+1をして返却する. */ public function add(int $num) { return $num + 1; } 1 $num 結果 期待値: 2 2
16.
Assertで期待値と結果を比較 • TestCaseにはAssert**というテスト結果比較 用の関数が用意されている • $this->assert**(期待値,
結果); を実行し 期待値と結果の比較を出力する • Assertには状況に応じて使える様々な種類が ある
17.
DataProvider • 配列に登録したデータを引数として複数渡すことができる • テストデータを複数用意してテストができる! public
function hogehogeProvider() { return [ // テストケースごとに作成 [ // 引数$hoge hoge, // 引数$fuge fuge, ], ]; }
18.
DataProviderの紐付け設定 • PHPDocでコメントを記述してDataProviderを 使いたいテストメソッドを関連づけることが できる /** * @dataProvider
[プロバイダメソッド名] */ public function testHogeHoge() {
19.
環境情報 • PHPフレームワーク Symfony3.1 •
PHPUnit 3.7.21(最新は6.0.0) • PHP 5.6.19 • IDE:Visual Studio Code PHP7.0以上の人 => PHPUnitは 最新 のものでOK (今のところ) PHP5.6の人 => PHPUnitは 5.7系 のものでOK (pharファイルはphpunit-5.7.21.phar) PHP5.5以下の人 => PHPUnitは 4.8系 を使う (pharファイルはphpunit-4.8.36.phar) 19
20.
ユニットテストのメリットとは? 20
21.
問題の原因や修正箇所の特定が容易 21 結合 テスト ユニット テスト テスト範囲が大きいので 上手く行かなかった場合 に原因特定が困難! 問題があってもメソッド内 の処理と、テスト値のみ 検証すれば良い メソッドごとの正常動作 は担保できる! <?php // クラス class Human { //
メソッド function eat ($food) { } } ?>
22.
テストコードを資産として残せる • 資産としてソースコードが残ることで 1. コードの処理が理解しやすくなる 2.
リファクタリングがしやすくなる 3. リグレッションテスト工数を減らせる ※リファクタリング:プログラムを動作を変えずに読みやすく綺麗な形に変更すること ※リグレッションテスト: プログラムの変更によって予想外の影響が現れていないかを確認するテスト 例) バグ修正によって新たなバグが発生していないかを確認する 22
23.
疎結合なソースコードを意識しやすい • 疎結合とは他との結びつきが弱く独立性が 強い構造。 ⇔
密結合 • ユニットテストを実装していると疎結合な デザインを感覚的に意識 しやすい ⇒何故か? • 密結合なfunctionはユニットテスト書くのが めんどくさい!!!! 23
24.
密結合だとめんどくさいので・・・ • テストコードをシンプルにするためにソース もシンプルになる • 疎結合なデザインに自然となっていく 24
25.
1. 疎結合なデザイン⇒ソースコードの洗練 2. メソッド単位の担保⇒バグの発生率の低下 3.
テストのソースコード化⇒テストの工数削減 ↓ 全体の工数の圧縮につながり システムの質の向上にも結び付く! 25 まとめ
Download now