Most of the time, software testing is based on comparing the actual behavior of a code or a system with its expected behavior. In his article “The Challenges of Testing in a Non-Deterministic World”, Donald Firesmith explains however that not all software and systems are deterministic, for instance an autonomous adaptive vehicle that uses machine learning software, and that software testing needs to adapt to this context.
Tutorials and resources on how to apply functional testing in software testing
Approval Testing is an approach to software testing that focuses on capturing and storing the behavior of your application, presenting the changes in behavior and allowing the software development team to react to them.
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.
There is a lot of talk in modern software testing teams about experimentation. Classically an experiment is a very structured series of activities designed to find something out. Sounds a lot like software testing and is in direct alignment with the concepts around Test-Driven Development (TDD), Behavior-Driven Development (BDD) and Acceptance Test-Driven Development (ATDD). This video discusses how to design testing experiments that are valuable and provide the right insights to the right people, at the right time.
Even if Windows might be the most used operating system in software development organizations, it doesn’t mean that you cannot use a computer working with Mac OS to perform functional testing. This article provides a list of open source functional testing tools that work on Mac OS.
Functional testing is an important checkpoint before releasing a mobile application. In this article, Dmitriy Radchenko shares a checklist of some of the basic points that will be common among mobile applications when you need to perform functional testing.
With the multiplication of versions, platforms (desktop, mobile, tablets) and operating systems, testing an application that is supposed to run in a browser is not easy. In this article, Alexander Rayskiy proposes an approach to select the set of browsers that will be used during the software testing activities.