<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Software testing php tutorials and videos</title>
	<atom:link href="https://www.softwaretestingmagazine.com/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.softwaretestingmagazine.com</link>
	<description></description>
	<lastBuildDate>Mon, 18 Jan 2021 16:30:48 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.softwaretestingmagazine.com/wp-content/uploads/favicon.png</url>
	<title>Software testing php tutorials and videos</title>
	<link>https://www.softwaretestingmagazine.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Testing Legacy Code: Safe Refactoring</title>
		<link>https://www.softwaretestingmagazine.com/videos/testing-legacy-code-safe-refactoring/</link>
		
		<dc:creator><![CDATA[Software Testing Magazine]]></dc:creator>
		<pubDate>Mon, 16 Nov 2020 10:36:23 +0000</pubDate>
				<category><![CDATA[Software Testing Videos]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[refactoring]]></category>
		<category><![CDATA[unit testing]]></category>
		<guid isPermaLink="false">https://www.softwaretestingmagazine.com/?p=7633</guid>

					<description><![CDATA[<p>The paradox: I cannot test this code because it is legacy. I need to refractor the code to make it testable. How can I manage that, without breaking existing functionality? I will need to write some tests, but&#8230; argh! This presentation explains how to safely refactor and test &#8216;untestable&#8217; code &#8211; without breaking any existing functionality. Video producer: https://www.phpconference.co.uk/</p>
The post <a href="https://www.softwaretestingmagazine.com/videos/testing-legacy-code-safe-refactoring/">Testing Legacy Code: Safe Refactoring</a> first appeared on <a href="https://www.softwaretestingmagazine.com">Software Testing Magazine</a>.]]></description>
		
		
		
			</item>
		<item>
		<title>Open Source Behavior-Driven Development (BDD) Tools for PHP</title>
		<link>https://www.softwaretestingmagazine.com/tools/open-source-behavior-driven-development-bdd-tools-for-php/</link>
		
		<dc:creator><![CDATA[Software Testing Magazine]]></dc:creator>
		<pubDate>Tue, 30 Oct 2018 08:00:50 +0000</pubDate>
				<category><![CDATA[Software Testing Tools]]></category>
		<category><![CDATA[Behavior-Driven Development (BDD)]]></category>
		<category><![CDATA[functional testing]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[test automation]]></category>
		<guid isPermaLink="false">http://www.softwaretestingmagazine.com/?p=3758</guid>

					<description><![CDATA[<p>Behavior-Driven Development (BDD) is an Agile approach that mixes requirement gathering, documentation and acceptance testing. The idea is that you start by writing human-readable sentences that describe a feature of your application and how it should work. Then you implement this behavior in software. This description can produce automated tests that will verify that the feature is implemented correctly. On the testing side, BDD tools provide you the features to perform functional or acceptance tests. There are many tools that implement the BDD concept for different languages, including PHP. This article presents a list of software testing tools to perform Behavior-Driven Development (BDD) for PHP. For each tool you will get a small description of its features and pointers to additional resources that discusses the tool more in details. Feel free to suggest any additional PHP BDD framework or resource that you think might be included in this article. The tools, listed in alphabetical order, are Atoum bdd-extension, Behat, Codeception, Kahlan, pecs, Peridot, pho, phpspec, phpunit-expect. Updates * October 30 2018: added atoum/bdd-extension, phpunit-expect and extensions to existing frameworks (API testing, code coverage, &#8230;) Atoum bdd-extension atoum/bdd-extension allows users of the atoum open source unit testing framework for PHP to write their tests (specs) in a Behavior Driven development fashion. Web site: https://github.com/atoum/bdd-extension Behat Behat is an open source behavior-driven development framework for PHP 5.3 and 5.4 inspired by the Ruby Cucumber BDD framework. Behat uses Gherkin, the same language than Cucumber, to describe features that you can later test <a class="mh-excerpt-more" href="https://www.softwaretestingmagazine.com/tools/open-source-behavior-driven-development-bdd-tools-for-php/" title="Open Source Behavior-Driven Development (BDD) Tools for PHP">[...]</a></p>
The post <a href="https://www.softwaretestingmagazine.com/tools/open-source-behavior-driven-development-bdd-tools-for-php/">Open Source Behavior-Driven Development (BDD) Tools for PHP</a> first appeared on <a href="https://www.softwaretestingmagazine.com">Software Testing Magazine</a>.]]></description>
		
		
		
			</item>
		<item>
		<title>PHP Static Code Analysis</title>
		<link>https://www.softwaretestingmagazine.com/videos/php-static-code-analysis/</link>
					<comments>https://www.softwaretestingmagazine.com/videos/php-static-code-analysis/#comments</comments>
		
		<dc:creator><![CDATA[Software Testing Magazine]]></dc:creator>
		<pubDate>Mon, 10 Aug 2015 15:16:41 +0000</pubDate>
				<category><![CDATA[Software Testing Videos]]></category>
		<category><![CDATA[code analysis]]></category>
		<category><![CDATA[php]]></category>
		<guid isPermaLink="false">http://www.softwaretestingmagazine.com/?p=3841</guid>

					<description><![CDATA[<p>PHP is not the best language to catch errors in code, like mistyped names of variables. This is what static code analysis tools (named linters or lints) can do: find bugs in code before it ever get executed. Linters don&#8217;t replace unit tests, but generally they are faster and cheaper to set up. I&#8217;ll talk about my XRef lint project (http://xref-lint.net/) as well as other helpful open source alternatives: phplint (http://www.icosaedro.it/phplint/), arcanist (http://phabricator.org/) and scrutinizer (https://scrutinizer-ci.com/). Video producer: http://www.sfphp.org</p>
The post <a href="https://www.softwaretestingmagazine.com/videos/php-static-code-analysis/">PHP Static Code Analysis</a> first appeared on <a href="https://www.softwaretestingmagazine.com">Software Testing Magazine</a>.]]></description>
		
					<wfw:commentRss>https://www.softwaretestingmagazine.com/videos/php-static-code-analysis/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Behaviour-Driven Development with Behat</title>
		<link>https://www.softwaretestingmagazine.com/videos/behaviour-driven-development-with-behat/</link>
		
		<dc:creator><![CDATA[Software Testing Magazine]]></dc:creator>
		<pubDate>Mon, 08 Jun 2015 15:14:53 +0000</pubDate>
				<category><![CDATA[Software Testing Videos]]></category>
		<category><![CDATA[agile testing]]></category>
		<category><![CDATA[Behavior-Driven Development (BDD)]]></category>
		<category><![CDATA[functional testing]]></category>
		<category><![CDATA[php]]></category>
		<guid isPermaLink="false">http://www.softwaretestingmagazine.com/?p=3746</guid>

					<description><![CDATA[<p>Agile development is a big thing nowadays. Almost every project wants to deliver value as quick as possible, but not all of them succeed because of the share amount of work most projects require. But what if you could actually deliver 2 times more value, but 3 times less features? Behat is an open source Behavior Driven Development (BDD) framework for PHP inspired by the Ruby Cucumber BDD framework. This talk will discover the way to focus on quality as oppose to quantity in regards to software development. And more importantly, will show a solution to a successful development of the project through the integration of Behaviour-Driven Development (BDD) methodology and tools into the quality-driven development process. This talk is focused on everyone ever been involved in delivering complex software. It will present ways to tackle software complexity through continuous communication and short feedback loops. Video producer: https://assoc.drupal.org/ Behat home page: http://behat.org/</p>
The post <a href="https://www.softwaretestingmagazine.com/videos/behaviour-driven-development-with-behat/">Behaviour-Driven Development with Behat</a> first appeared on <a href="https://www.softwaretestingmagazine.com">Software Testing Magazine</a>.]]></description>
		
		
		
			</item>
		<item>
		<title>PHPUnit Tips &#038; Tricks</title>
		<link>https://www.softwaretestingmagazine.com/knowledge/phpunit-tips-tricks/</link>
					<comments>https://www.softwaretestingmagazine.com/knowledge/phpunit-tips-tricks/#comments</comments>
		
		<dc:creator><![CDATA[Software Testing Magazine]]></dc:creator>
		<pubDate>Tue, 08 Oct 2013 12:45:15 +0000</pubDate>
				<category><![CDATA[Knowledge]]></category>
		<category><![CDATA[Software Testing Articles & Tutorials]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[test automation]]></category>
		<category><![CDATA[unit testing]]></category>
		<guid isPermaLink="false">http://www.softwaretestingmagazine.com/?p=2456</guid>

					<description><![CDATA[<p>In my previous articles, PHP Unit Testing with PHPUnit and Using Mocks and Stubs in PHPUnit, I have showed how to set up PHPUnit and how to get started with unit tests and how to handle mocking and stubbing objects in order to effectively isolate your code under test. This article will explore a few ways to get the most out of your PHPUnit tests. Author: Kendrick Curtis, Stainless Software, http://www.stainless-software.com/ Working With Static Methods Any reasonably large Object Oriented PHP codebase will probably contain some static methods, and these are often more likely to be in need of thorough testing than many class methods, particularly if they are powerful singletons or factories. Testing these methods is easy: create a test class as normal and call the static method as the code under test, stubbing out any code that the static method calls out to. However, trying to test other methods that rely upon these static methods is problematic: it&#8217;s not possible to mock out a static method using $this-&#62;getMock(“classname”) as you might expect. If you&#8217;re running PHP5.3+ and PHPUnit3.5+, you can mock out statics in a very few limited circumstances. Sebastian Bergmann, author of PHPUnit, has documented this on his blog but not in the PHPUnit manual. Instead, you will have to alter your production code to turn your static method into a non-static method, potentially creating new classes to house static functionality as required. So you will end up transforming your code into this: class CodeUnderTest { function useStatic() { <a class="mh-excerpt-more" href="https://www.softwaretestingmagazine.com/knowledge/phpunit-tips-tricks/" title="PHPUnit Tips &#038; Tricks">[...]</a></p>
The post <a href="https://www.softwaretestingmagazine.com/knowledge/phpunit-tips-tricks/">PHPUnit Tips & Tricks</a> first appeared on <a href="https://www.softwaretestingmagazine.com">Software Testing Magazine</a>.]]></description>
		
					<wfw:commentRss>https://www.softwaretestingmagazine.com/knowledge/phpunit-tips-tricks/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Using Mocks and Stubs in PHPUnit</title>
		<link>https://www.softwaretestingmagazine.com/knowledge/using-mocks-and-stubs-in-phpunit/</link>
					<comments>https://www.softwaretestingmagazine.com/knowledge/using-mocks-and-stubs-in-phpunit/#comments</comments>
		
		<dc:creator><![CDATA[Software Testing Magazine]]></dc:creator>
		<pubDate>Mon, 19 Aug 2013 16:57:46 +0000</pubDate>
				<category><![CDATA[Knowledge]]></category>
		<category><![CDATA[Software Testing Articles & Tutorials]]></category>
		<category><![CDATA[mocking]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[unit testing]]></category>
		<guid isPermaLink="false">http://www.softwaretestingmagazine.com/?p=2361</guid>

					<description><![CDATA[<p>In my previous column PHP Unit Testing with PHPUnit,I showed how to set up PHPUnit and how to run a few simple tests. You should be able to test any function or method now that doesn&#8217;t rely on making calls out to other methods or functions – which is of course very few, as most applications are a complex combination of methods and, in PHP&#8217;s case, functions. Author: Kendrick Curtis, Stainless Software, http://www.stainless-software.com/ Writing unit tests for any application relies upon being able to isolate the object under test, which can be difficult in these situations. Here we&#8217;ll take a look at a few strategies for properly isolating the code that you are trying to test in order to prove that it works without having to test your entire system. Depending on what you read, different distinctions are drawn between mock objects, fake objects and stubs. PHPUnit natively provides mock objects with enough functionality to supply both predetermined inputs to the code under test and also to verify whether certain methods were called. Injecting Input With Mock Objects Simply, a mock object is a “fake” version of a code object (usually an object in the OO sense as well). In order to isolate your object under test, it&#8217;s usually necessary to mock out all of the other objects that it interacts with. A mock object has the same interface as the real thing, but responds in a way pre-programmed by your test code. Let&#8217;s look at an example, a simple <a class="mh-excerpt-more" href="https://www.softwaretestingmagazine.com/knowledge/using-mocks-and-stubs-in-phpunit/" title="Using Mocks and Stubs in PHPUnit">[...]</a></p>
The post <a href="https://www.softwaretestingmagazine.com/knowledge/using-mocks-and-stubs-in-phpunit/">Using Mocks and Stubs in PHPUnit</a> first appeared on <a href="https://www.softwaretestingmagazine.com">Software Testing Magazine</a>.]]></description>
		
					<wfw:commentRss>https://www.softwaretestingmagazine.com/knowledge/using-mocks-and-stubs-in-phpunit/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>PHP Unit Testing with PHPUnit</title>
		<link>https://www.softwaretestingmagazine.com/knowledge/php-unit-testing-with-phpunit/</link>
					<comments>https://www.softwaretestingmagazine.com/knowledge/php-unit-testing-with-phpunit/#comments</comments>
		
		<dc:creator><![CDATA[Software Testing Magazine]]></dc:creator>
		<pubDate>Tue, 28 May 2013 17:08:27 +0000</pubDate>
				<category><![CDATA[Knowledge]]></category>
		<category><![CDATA[Software Testing Articles & Tutorials]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[unit testing]]></category>
		<guid isPermaLink="false">http://www.softwaretestingmagazine.com/?p=2206</guid>

					<description><![CDATA[<p>PHPUnit is an open source unit testing software framework for software written in the PHP programming language. Created by Sebastian Bergmann, PHPUnit is one of the xUnit family of frameworks that originated with Kent Beck&#8217;s SUnit. This article will explore PHPUnit specifically as a way to introduce the basics of automated unit testing. You&#8217;ll need a basic grasp of the PHP programming language to proceed! Author: Kendrick Curtis, Stainless Software, http://www.stainless-software.com/ Introduction Unit testing is the process of testing discrete code objects – such as functions, classes or methods – by using either bespoke testing code or by utilizing a pre-existing testing framework such as JUnit, PHPUnit or Cantata++. Unit testing frameworks provide a host of common, useful functionality for writing automated unit tests such as assertions to check whether a certain value was as expected and often include reports of line and decision coverage to tell you how much of your codebase you have. Installation PHPUnit is available as a PEAR package, a Composer bundle or as a PHAR file. However you install it, you must also install the PHP Code Coverage dependency first. In PEAR, you need to add the phpunit.de channel and then install the two packages from the command line: (Note that at the time of writing, the default PEAR installation with XAMPP is broken: you&#8217;ll need to get the PEAR PHAR and install that from the command line before attempting the above). Testing A Simple Class Consider an extremely simple PHP class with a single <a class="mh-excerpt-more" href="https://www.softwaretestingmagazine.com/knowledge/php-unit-testing-with-phpunit/" title="PHP Unit Testing with PHPUnit">[...]</a></p>
The post <a href="https://www.softwaretestingmagazine.com/knowledge/php-unit-testing-with-phpunit/">PHP Unit Testing with PHPUnit</a> first appeared on <a href="https://www.softwaretestingmagazine.com">Software Testing Magazine</a>.]]></description>
		
					<wfw:commentRss>https://www.softwaretestingmagazine.com/knowledge/php-unit-testing-with-phpunit/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Test-Driven Development with PHPUnit</title>
		<link>https://www.softwaretestingmagazine.com/videos/test-driven-development-with-phpunit/</link>
		
		<dc:creator><![CDATA[Software Testing Magazine]]></dc:creator>
		<pubDate>Thu, 27 Sep 2012 20:16:16 +0000</pubDate>
				<category><![CDATA[Software Testing Videos]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[unit testing]]></category>
		<guid isPermaLink="false">http://www.softwaretestingmagazine.com/?p=1811</guid>

					<description><![CDATA[<p>PHPUnit is a unit testing software framework for PHP. It provides both a framework that makes writing unit tests easy as well as the functionality to easily run the tests and analyze their results. This video shows you how to build a relatively simple class, using TDD techniques. It also discusses various PHPUnit methods and explains how to create mock objects. Video source: http://net.tutsplus.com/tutorials/php/hands-on-unit-testing-with-phpunit/</p>
The post <a href="https://www.softwaretestingmagazine.com/videos/test-driven-development-with-phpunit/">Test-Driven Development with PHPUnit</a> first appeared on <a href="https://www.softwaretestingmagazine.com">Software Testing Magazine</a>.]]></description>
		
		
		
			</item>
	</channel>
</rss>
