Agile software development • Recognize the benefits of test automation • Identify various testing tools and select a testing tool for test automation • Explain test driven development & acceptance testing, create unit & acceptance tests
working earlier is broken. This happened after changes made by the user interface team did not go well with Rajesh’s change… …now Pooja needs to test everything again while they are about to finish the sprint leaving other important features untested…..
execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and test reporting functions. Commonly, test automation involves automating a manual process already in place that uses a formalized testing process” {Wikipedia} Software Test Automation
automated tests because this level is usually composed of UI tests that are expensive to write or maintain and that often require human control (over visual aspects for instance) The bottom tier has to be automated the most: it gives the best ROI as unit tests can be easily written by developers and gives them an immediate feedback. The more automated unit tests, the stronger will be the foundation The middle tier is more difficult to automate than the foundation and tests at this level will be focused on business-facing tests. These functional tests will give an answer to the question “are we building the right thing”. It will ensure functionalities match the requirements Manual Tests
the box Highly Flexible with other LEGO Parts You can build many models from same set Cons: Very costly (including operating cost) Additional features not available easily and they cost a lot Limited help/user Community Proprietary programming language and limited sense of achievement
Help/User Community Gives great sense of achievement ☺ Cons: Does not give out of the box features, you need to build.. Sometimes time consuming and need greater understanding of electronics and mechanics
Testing Market leading functional testing tool. Supports various technologies including Web, Java, .NET, Standard Windows, Silverlight, Oracle, Mainframe etc. VBScript IBM Rational Functional Tester Functional Testing Supports Standard Windows, Java, .NET and Mainframe Applications Java, VB.NET SmartBear TestComplete Unit, Functional Testing, Load & Performance Testing Second largest selling tool. Supports Standard Windows, Java, .NET Applications VBScript, C# Microsoft Visual Studio Test Professional Unit, Functional & Load Testing, Test Management Recently launched tool from Microsoft. Supports complete testing life cycle for Standard Windows, Web & .NET Applications C#, VB.NET Major commercial testing tools
Unit Testing, API Testing Supports major development platforms Java, C# etc. (planform specific variants available) Selenium Functional Testing Supports Web Applications Java, C#, Python, Perl, Ruby WATIR Functional Testing Supports Web Application Ruby SoapUI Web Services Testing Supports Testing of Web Services Java, XML Major free & open source testing tools
of writing a unit test before writing any code • This can be done relatively quickly, with the developer writing the test, then writing the code, and then running the test in small increments • Tools like xUnit Frameworks are used in TDD
for a better design. TDD has the following distinct benefits: • It contributes to better overall system design by reducing code duplication and other anomalies • It forces programmers to think about end results first, which increases the likelihood that the code will meet customer needs • It increases test coverage for the system under development, which uncovers more defects and reduces what Kent Beck, author of Test Driven Development by Example, calls defect density
for functional system & acceptance testing for web applications • Selenium supports tests on multiple browsers including FireFox, Internet Explorer, Chrome, Safari etc. on Windows, Linux & Mac • Selenium provides a rich set of testing features