Image CAPTCHA
Enter the characters shown in the image.

You are here

Automatic Testing for PHP

Automation is the best way to insure your code is fulfilling it purpose. make sure all features are functional with automatic testing platform. now you can change your code and verify all other features are intact.

There are several different types of testing tools or testing frameworks, available for PHP, which use different approaches. All of which are trying to avoid manual testing and the need for large Quality Assurance teams, just to make sure recent changes didn’t break existing functionality.

The more code you have the more testing you need and in more levels, starting with unit testing.

Here are few of the testing levels you need to consider: 

  1. Unit testing - is a programming approach to ensure functions, classes and methods are working as expected, from the point you build them all the way through the development cycle. By checking values going in and out of various functions and methods, you can make sure the internal logic is working correctly. By using Dependency Injection and building “mock” classes and stubs you can verify that dependencies are correctly used for even better test coverage.
    When you create a class or function you should create a unit test for each behavior it must have. the main idea is to verify the output on case of valid arguments but bad, or just verify its operation and outputs. later on when making changes on the function those tests will be your best verification that updates didn't changed its previous operation. also it can be suitable when updating other functions. also you can use var_dump() in a test.php, which is not a real good way to build an application operational verification.
    PHPUnit is well known within PHP developers, but there are other options, like: atoumKahlanPeridotSimpleTest
  2. Integration Testing - Integration testing takes as its input modules that have been unit tested, groups them in larger aggregates, applies tests defined in an integration test plan to those aggregates, and delivers as its output the integrated system ready for system testing. you can use the same tools used suggested above.
     
  3. Functional Testing - can be used just before deployment or after (acceptance testing), functional testing consists of using tools to create automated tests that actually use your application instead of just verifying that individual units of code are behaving correctly and that individual units can speak to each other correctly. These tools typically work using real data and simulating actual users of the application.
    For functional testing you can use: SeleniumMinkCodeception full-stack testing framework that includes acceptance testing tools, Storyplayer another full-stack testing framework that includes support for creating and destroying test environments on demand.

You can build your testing framework as close as possible to the development platform given the option for the developers to use it as well, even within TDD strategy. TDD = Test Driven Development means building the actual test before development start, and directing the developing teams to work on each functionality until the test passes. 

Other testing strategy that more suitable for the QA and IT teams is BDD, which is a more standard way to write the tests. There are two different types of Behavior-Driven Development (BDD): SpecBDD and StoryBDD.

SpecBDD focuses on technical behavior of code, while StoryBDD focuses on business or feature behaviors or interactions. 

StoryBDD, is letting you the option to write human-readable stories that describe the behavior of your application. These stories can then be run as actual tests against your application. The framework used in PHP applications for StoryBDD is Behat, which is inspired by Ruby’s Cucumber project and implements the Gherkin DSL for describing feature behavior.

SpecBDD, gives you the option to write specifications that describe how your actual code should behave. Instead of testing a function or method, you are describing how that function or method should behave. PHP offers the PHPSpec framework for this purpose. This framework is inspired by the RSpec project for Ruby.

 

Also the is few other options that is important to be aware of:

  1. Selenium RC integration for PHPUnit: phpunit-selenium
  2. A simple yet flexible PHP mock object framework: mockery
  3. Highly opinionated mocking framework for PHP 5.3: Prophecy

 

yes

About The Author: 

QATestingTools.com, more technical information on Software Testing Tools and Testing Resources

Media: 
Test Driven Development

.

PHP

List mode
Table mode
Icons mode

Displaying 1 - 11 of 11

Title Testing Objectives Since Price Quotes Ping
Testlink 2,003 Free use Active
SeleniumHQ Desktop testing, Object Based Testing, Web testing, Cross-Browser testing 2,006 Free use Active
RTH Application Life Cycle Tracking 2,006 Free use 2009
BlazeMeter Desktop testing, Stress Testing, Performance Analysis, Web testing, Cross-Browser testing 2,011 October 2014 :Basic - $249/month/1000 users, October 2014 :Pro - $649/month/5000 users, October 2014 :Pro Plus - $1349/month/10,000users Active
Codeception API testing, SOA testing, Web testing 2,012 Free Use Active
PHPUnit Code Analysis, Code Coverage testing, Coding Standards verfication, Static Code Analysis, DataBase testing 2,006 Free use Active
Agile Test 2,010 Free use 2011
Behat 2,011 Free Use Active
Saucelabs Mobile Testing, Web testing, Cross-Browser testing 2,008 Active
Testenium Framework Web testing 2,015 Active
Minq Web testing, Cross-Browser testing 2,012 Free use Active

MANUFACTURERS Wallboard

Testing tool manufacturers world-wide list
10Levels ABID CONSULTING AccelQ Accord Software ActiMind AdaCore
AdaLog AgileLoad AgileWay Agitar Algorismi ALL4TEC
Andreas Kleffel Android Apache Apica Apollo Systems AppAssist.mobi
Applitools AppPerfect Appsee ApTest Assertible Assure
Atlassian AutoIt Consulti .. Automation Anyw .. Automation Cons .. Axosoft Aztaz Software
Backtrace I/O Badboy BlazeMeter Borvid BrowserStack BSQUARE
BStriker Intern .. CA Technologies Canonical Canoo Engineeri .. Catch Software CelestialTeapot
Chris Mallett Cleanscape ClicTest CloudQA Codeborne CodeCentrix
CodePlex projec .. Codoid Cogitek Compuware Configure IT Conflair
ConSol Core Services Coronys Ltd Countersoft CresTech Softwa .. CrossBrowserTes ..
Crosscheck Netw .. Crowdsourced Te .. Cucumber Ltd Cyara Cygnet Infotech DareBoost
Databene Datamatics Glob .. DevExpress DTM soft Dynatrace LLC EasyQA
Eclipse EkaTechserv Elvior Emmanuel Jorge Empirix EPAM Systems
Equafy Esterel Technol .. eXept Software .. Experitest Finaris Froglogic
FrontEndART Ltd GeneXus GitHub project gnoso Google Code Pro .. GrammaTech
Gurock Software HelpSystems HENIX Hewlett Packard .. Hexawise High-Tech Bridg ..
Hiptest Hitex IBM Rational imbus Shanghai Impetus Inflectra
informUp InTENSO - IT Ex .. Ipswitch Jamo Solutions Janova JAR Technologie ..
JBoss Developer jClarity Jellly.io JetBrains Jively jQuery foundati ..
JS Foundation Jspresso Kanoah KMS Technology Kualitee LDRA Limited
Litmus LoadFocus Loadster Perfor .. MarathonITE Marketcircle Marketcircle
Maveryx Meliora Ltd Micro Focus Sof .. Microsoft Mobile Labs Mobile1st
Mockaroo, LLC Monkop Mozila MSys Technologi .. Navicat NeoTys
Neowise Softwar .. NetCart NORIZZK.COM Novosync Mobili .. NRG Global NTT Resonant
OC Systems Odin Technology OpCord Oracle Orcanos Original Softwa ..
OW2 PANAYA Parasoft PassMark Patterson Consu .. Perfecto Mobile
Pivotal, Inc. Plutora Postman (API To .. PractiTest PrimaTest Process One
Programming Res .. Psoda PureLoad PushToTest Python Q-Assurance
QA Systems QACube QASymphony QAWorks QMetry Quali
Qualitia Softwa .. Quality First S .. Quotium RadView Softwar .. Ranorex RedLine13
Reflective Solu .. ReQtest RevDeBug Robotium Tech Rogue Wave Soft .. Rommana Softwar ..
RTTS ruby-doc.org Runscope Sandklef GNU La .. Sauce Labs Seapine Softwar ..
SeleniumHQ Sencha Sensiple Siemens PLM Sof .. SmartBear Softw .. SmarteSoft
SOASTA SoftLogica Softomotive Softsmith Solution-Soft SonarSource
Sourceforge Spirent Technol .. SQS Software Qu .. Square Stimulus Techno .. Swifting AB
Synopsys T-komp T-Plan TechExcel TechTalk Telerik By Prog ..
Tellurium Test Collab Test Goat Test Recon TestCaseLab testCloud.de Gm ..
TestCraft Techn .. Testenium Testim.io TestingBot TestLodge Testmunk
Testomato TestOptimal TestPlant TestPro Testuff The Core Bankin ..
The MathWorks The Open Group thePHP.cc Thoughtbot Thoughtworks Tigris.org
Time Simulator Top-Q Trace Technolog .. TrendIC TRICENTIS Tritusa Pty Ltd
TWD Solutions P .. TypeMock Tyto Software Ubertesters UniTESK Universal Test ..
Usetrace Ltd Utrecht Univers .. Validata Group Vanamco AG Vector Software Veracode
Verifaya Corpor .. Verit VersionOne Viewlike.us Vornex Inc. Watir.com
WcfStorm Soluti .. We Are Mammoth Web Performance .. Wintask Wireshark Found .. Worksoft
Xceptance XK72 Xpand IT XQual ZAPTEST Zeenyx Software ..
Zephyr Zeta Software zutubi pty

Theme by Danetsoft and Danang Probo Sayekti