Acceptance software testing
You might want to begin by choosing the tool you want to use when you want to introduce ATDD to a project or client. In this article, Markus Gaertner says that this doesn’t work and shares his advice on how to overcome the biggest mistakes from the beginning when you get started with ATDD. He recommends to start with an example. Working together, the team identifies a case that would derive the greatest benefit from being automated. You should define the right approach first, the right people second, the right format third. The format we choose will limit the choice of the tool, but the tool itself should be our last consideration. Instead of thinking about the tool, we should work for clarity in how we write down our examples. All the successful teams he has worked with on ATDD shared one thing: they started with one approach, and they reflected on it regularly. During those retrospectives, they came up with necessary improvements if the approach stopped working for them. If you keep this practice in mind, you can essentially start with any approach.
Software testing is a major activity in any software development project and a large part of the budget is spent on it. If we want to effectively spend your money, the ease of software testing should be addressed when you design your system in the early stages of building your applications. In this article, Gil Zilberfeld explains that thee adoption of test first practices like Test-Driven Development (TDD) or Acceptance Test-Driven Development (ATDD) by the majority of agile teams shows how test automation needs are addressed from the initial steps of system concepts. As an additional benefit, it is easier to evolve a testable system because you can add features knowing that existing ones did not break.
SpecsFor.Mvc is an open source tools that allows you to create automated acceptance tests using browser automation, meaning your entire application is tested from the UI all the way down to the database, exactly as a real user will use your application. However, unlike many other solutions which rely on recording actions or require you to learn a completely new framework and syntax, SpecsFor.Mvc uses familiar unit-testing tools and syntax.
In this blog post, Mark Barne shares some useful tips and techniques to challenge those attempting to adopt acceptance test driven development within a corporate environment. Amongst the tips that I liked the best I will mention “Don’t clean up after tests”. Leaving the data created by the test can help immensely when issues are found. “Create unique contexts for each test”. To prevent tests stepping on each other’s toes if they are run in parallel, create a unique context for the test. “Don’t write the test at all.” If the story doesn’t have much value, or the the systems you are using are not in your control and are not test friendly then stop just short of automating it.
For Node, there are two types of automated testing: unit testing and acceptance testing. Unit testing tests code logic directly and is applicable to all types of applications. Acceptance testing, however, is an additional layer of testing most commonly used for web applications. This article discusses the Tobi and Soda frameworks for acceptance testing.
This blog post provides a detail process on how to write acceptance tests for the UI using Visual Studio 2010 Microsoft Test Manager and Fit style tables. Fit tables, originally defined for the fitnesse open source software testing tool, allow stakeholders and business analysts to enter expected input and the proper output in a tool they are comfortable wit, like word processor or a spreadsheet.
SpecsFor.Mvc is a software testing tool that enables to create automated acceptance tests using a browser like Internet Explorer or Firefox. This means that your application is tested from the UI all the way down to the database. Unlike other tools which rely on recording actions, you write strongly-typed tests against your ASP.NET MVC controllers, action methods and view models. SpecsFor.Mvc takes care of translating your tests to the browser. Matt Honeycutt blog post provides a detailed introduction to SpecsFor.Mvc. It discusses the challenges of automated acceptance tests and how to install, configure and start using SpecsFor.Mvc with a simple example.