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.
Acceptance software testing
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.
Robot Framework is a test automation framework for acceptance testing and acceptance test-driven development (ATDD) that uses a keyword-driven testing approach. Thomas Jaspers has created four blog posts that provide a comprehensive tutorial for Robot Framework.