CP-AAT
What is CP-AAT?
CP-AAT stands for “Certified Professional – Automation Agile Testing”. The course is applicable for all roles and not just “testers”. Knowledge, experience & certification is consciously designed to focus on “agile testing” and automation of testing in agile and DevOps and not just on “agile testers” or “testers”.
How is it useful?
CP-AAT prepares you for utilizing automation effectively in an agile project. It helps you realize the tester’s role in planning and strategizing for Testing particularly BDD Driven Test Automation. CP-AAT is designed specifically for working professionals who are already working in agile and DevOps practices and want to leverage TDD and BDD practices in optimizing the test specification and test automation. The course covers BDD in details using Cucumber and various facets of Gherkin (DSL). All the concepts are driven using real user stories and case studies which involve participants to write Gherkin Feature files and then code step files both for Unit and End to End level. The program introduces and goes in depth learning for practices / tools such as TDD, BDD, Cucumber, Junit and Selenium.
CP-AAT Exam
CP-AAT exam is three hours exam. One-hour theory exam with multiple choice questions and a two-hour practical exam covering the concepts of TDD, BDD using Cucumber, Junit and Selenium. Getting more than 60% in both the exams is necessary to clear the CP-AAT exam ang get all the necessary requirements for getting the certificate fulfilled.
CP-AAT Learning Objective Version
This is version 2.0 of CP-AAT learning objective. The program has gone through a major revision. Version 2.0 learning objective has taken out sections on Fitness. The CP-AAT program now covers in depth BDD using Cucumber including all the Gherkin keywords. The CP-AAT program can now be taken using Specflow if the technology of choice is C# and .Net. Relevant sections of Cucumber will change to Specflow.
Am I Eligible?
Anyone having 1-year experience in agile or testing is eligible for CP-AAT. Having prior knowledge of any programing language will come in very handy. If you know Selenium and you have cleared CP-SAT, this program would help you expand your test automation knowledge into agile automation.
Duration
Learning Program designed around CP-AAT can be completed in 2-3 days (total of 14-21 hours days) depending on the participants background and readiness.
The CP-AAT exam is an open exam and can be taken by anyone who is working in Agile and is familiar in BDD using Cucumber.
-
1. Agile Recap
- 1.1. Warm up Agile Quiz
- 1.2. Agile Manifesto – quick look
- 1.3. Agile in Practice (Video), Models a quick look
- 1.4. Understanding the challenges associated with defects creeping in due to requirement not understood well
-
2. User Stories, Testing, Test Pyramid and Need for Test Automation in Agile, Automated Tests in Agile – Test First Approach
- 2.1. Understanding User stories
- 2.2. When are user stories written?
- 2.3. Story Hierarchy (Epics, Features and Stories)
- 2.4. Origination of User stories
- 2.5. Testing Agile in comparison to legacy testing in phase
- 2.6. Tests in Agile
- 2.7. Acceptance Criteria and Acceptance Tests
- 2.8. Practical exercise on writing acceptance tests for a given story – understanding the value of examples
- 2.9. Testing Strategy and Role of Testing in Agile
- 2.10. Increase in load of testing due to iterations and the importance of Automation
- 2.11. Testing Pyramid, importance of Unit and API testing. What is Unit testing, Integration Testing and End to End Testing
- 2.12. Automated Tests in Agile – Test First Approach (TDD / ATDD / BDD)
-
3. TDD Case Study
-
3.1. What is Unit Testing
- Sample Unit test case
- Unit Testing Frameworks
-
3.2. TDD
- How does TDD Work
- Red, Green, Blue Cycle
- TDD practical
-
3.3. TDD Case Study
- For a given problem statement implement TDD
- 3.4. Understanding importance of Static Code Analysis and Code Coverage
- 3.5. TDD, ATDD, BDD – understanding the differences and similarities among the three
-
3.1. What is Unit Testing
-
4. BDD
- 4.1. What is BDD
-
4.2. BDD Practices
- Discovery
- Formulation
- Automation
- 4.3. Human Language Support
- 4.4. BDD Tools
- 4.5. BDD Myths
-
5. Introduction to Cucumber
- 5.1. Behavior in Feature document
- 5.2. Step definition
- 5.3. Human Language Support
- 5.4. Cucumber for Java – Cucumber JVM
- 5.5. Testing Possibilities
- 5.6. Specification by Examples
-
6. Installation and configuration for Cucumber
- 6.1. Installing Eclipse
- 6.2. Creating Maven project
- 6.3. Maven dependencies for Cucumber and other tools used in the program
- 6.4. Installing Cucumber and Natural Plugins
-
7. Implementing BDD using Cucumber
- 7.1. Preparing Features File having test scenarios
- 7.2. Writing a step definition
- 7.3. Understanding Gherkin Keywords – Feature, Scenario, Given, When, Then, And, But and usage in features files and the associated glue code in step file
- 7.4. Passing parameters in Step Functions
- 7.5. JUnit Test generation in Cucumber
- 7.6. Using Assertions to report failure
- 7.7. Running simple feature/Step scenario
- 7.8. Building a simple test case
- 7.9. BDD Case Study – For the Given User Story, please create necessary Cucumber feature files and step file
- 7.10. Corelate how BDD helped in improving the already implemented TDD source
- 7.11. Learn the importance of specification by examples
-
8. Cucumber and Gherkin Deep Dive
- 8.1. Scenario Outline and Examples
- 8.2. Case study on Scenario Outline and Examples – extending the already created feature file and how data driven approach works
- 8.3. Doc String Delimiters in Gherkin
-
8.4. Step Tables practical
- Understanding List of Maps
- How Datatables work
-
8.5. Writing Runner Class, Cucumber Options for
- Pretty, Tags and Glue
- Cucumber HTML Reports
- Features
- Glue
- 8.6. Running features from command line using Maven and Runner class
-
8.7. Tags – organize your features and scenarios
- Tag Inheritance
- Logical expressions in Tags
- Not
- And
- Or
- Using Tags in CucumberOptions (Runner Class)
-
9. Cucumber and Selenium for End to End Tests, CI using Jenkins
-
9.1. Configuring Eclipse for Selenium
- Selenium Setup and integration in the existing project
- Getting the Selenium utility classes for driver invocation
-
9.2. Practical for UI / End to End Tests using Cucumber and Selenium
- Simple User story from the End to End perspective
- More complex end to end user stories
- 9.3. Understanding how all of this can be tied together using a CI Tool like Jenkins
-
9.1. Configuring Eclipse for Selenium
-
10. More BDD
- 10.1. More User stories and practical. Practice all BDD fundamentals throughout the course using more examples from the case study