カテゴリー: テスト

■ 目次

  1. Codeception TestTools
  2. 使い方
  3. その他の拡張機能について

■ Codeception TestTools

Codeception TestToolsはChromeの拡張機能である

ブラウザの操作だけで受け入れテスト(Acceptance test)のソースを自動で書き起こすことができる

出来上がったソースコードを元に受け入れテストを拡充していくことができる

テスト

■ 目次

  1. 概要
  2. 作り方に関して
  3. ゼロからCodeceptionを追加する
    1. 準備
    2. 単体テスト追加
    3. 機能テスト追加

■ 概要

前回Codeceptionについてどんなテストがあるのかと実際に動くものを見てどんな感じなのかイメージを持ったので

今回は実際にテストが無いプロジェクトに対してCodeceptionを追加してみる

PHP Codeceptionテスト入門の入門

ゼロスタートということでどのように追加していくのか、またファイル構成を見ることを中心に解説を行う

テスト

■ 目次

  1. Codeceptionとは
  2. テストの必要性
  3. 単体テスト・機能テスト・受け入れテスト
  4. とりあえず使ってみる

■ Codeceptionとは

PHPのテストを簡単に行うためのテスティングフレームワーク
単体テスト、機能テスト、受け入れテストの3種類のテストを簡単に書くことができる

公式ドキュメントも日本語で読めるので敷居が低い
Codeception.docs.ja
しかしそれでも敷居が高い人や、使ってはいるけどあんまり理解していない人向けに簡潔にまとめていくこととする

Codeceptionはテストの実行環境としてPHPUnitを使用しているので、今まで PHPUnitを使っているテストでも、Codeceptionに移行するのは容易である。またテストを実行するためにPHPUnitを別途インストールする必要はない

実際にプロジェクトにCodeceptionを追加する話は次回としている

プロジェクトにCodeceptionテストをゼロから追加する

テスト

■ 目次

  1. 概要
  2. Jenkinsサーバセットアップ
  3. Seleniumを使うための準備
  4. Jenkinsのジョブを作成する
  5. 補足:画面キャプチャを確認する

■ 概要

JenkinsでSeleniumのテストを自動実行できるようする

Jenkinsで行うということで画面が無いことからJenkinsサーバに仮想ディスプレイ(Xvfb)を入れてテストを行うことになる

JenkinsやSelenium単体についてどういったものかはそれぞれ以下にまとめてあるので参考にしてほしい

Selenium入門の入門

PHPUnitとSelenium WebDriverを使ってヘッドレスにブラウザテストを行う

Jenkins入門の入門

テスト

■ 目次

  1. 概要
  2. PHP_CodeSnifferとは
  3. PHPMDとは
  4. 自動チェック手順
    1. リポジトリ作成
    2. composer.json作成
    3. サンプルプログラム作成
    4. phpmd,phpcsを試しに実行してみる
    5. pre-commit時に実行するようにする
    6. エラー時にcommitできないことを確認する

■ 概要

複数人で開発を行うと各々好き勝手にコードを書かれてしまって気がついたらコーディング規約が定まらない汚いソースコードになってしまうので便利ツールを使って少しでも改善していく。

PHPコードのチェックをPHP_CodeSnifferとPHPMDで行う

自動でチェックが走るようにGitのHooks機能機能を使ってcommit時に毎回確認するようにする

テスト 開発

■ 目次

  1. 概要
  2. Apache Bench(ab)とは
  3. 負荷検証の目的を明確にする
  4. Apache Benchの使い方まとめ
    1. 環境準備
    2. abを実行
    3. 出力結果の見方について
    4. サーバの負荷確認方法について
  5. 結論の出し方
  6. 終わりに

■ 概要

Apache Bench(ab)を使って負荷検証をします

どういう風に進めていくのか考える所からabを使って実際に負荷検証を行ってみます

テスト 運用

■ 目次

  1. 概要
  2. Selenium Gridについて
  3. 環境準備
  4. テスト実行
  5. 並列実行

■ 概要

Dockerを使ってJenkinsとSelenium Gridを用意します

完成イメージ(間違ってたらすみません…)

test1

Jenkins経由でSeleniumのテストスクリプトを実行させる
Docker上で用意をするのでscaleの拡張も手軽にできそう

今回はこちらを参考に自分なりに解釈して実装を行っています
Docker ComposeでJenkinsとSelenium Gridを一気に立ち上げる

テスト

■ 目次

  1. 概要
  2. 用語説明
    1. Selenium WebDriver
    2. facebook/php-webdriver
    3. Xvfb
    4. Selenium Server
  3. 環境構築
    1. php5.6
    2. PHPUnit
    3. Firefox
    4. Xvfb
    5. Java
    6. Selenium
  4. 起動
    1. Xvfb
    2. Firefox
    3. Selenium
  5. テスト実行
  6. 画面キャプチャ

■ 概要

PHPUnitを使ってSeleniumWebDriverを動かします

Linux(CentOS)上で動作させるためGUIのない環境ですが仮想端末上で動作させます

テスト

■ 目次

  1. 概要
  2. Selenium Core
  3. Selenium RC
  4. WebDriver
  5. Selenium WebDriver
  6. Selenium IDE
  7. Selenium Builder
  8. Selenium Grid

■ 概要

Selenium WebDriverとSelenium IDEなど色々ある理由について調べます

生い立ちを学んでいく感じになっています

Seleniumの概要やSelenium IDEの使い方についてはこちらを参考にする

Selenium入門の入門

テスト

■ 目次

  1. 概要
  2. Seleniumとは
  3. 環境準備
    1. Firefoxをインストール
    2. Selenium IDEをインストール
  4. Selenium IDEを使ってみる
    1. テスト項目について
    2. ブラウザ操作を記憶させる
    3. テストケースを実行させる
  5. 補足:ファイルをPHPUnit形式に作成する
  6. 最後に

■ 概要

Webブラウザの操作を自動化するツールであるSeleniumについてまとめます

どんなものなのかとどう使うのかを簡単にまとめます

Selenium IDE、Selenium WebDriverなど色々ある理由は以下を参考にする
Selenium WebDriverとSelenium IDEなどについて

とりあえず使いたいという人はSelenium IDEを使えば大丈夫かと思います(この記事の執筆当時だったら)

seleniumgif

テスト