Test code... is ... Production code!
Test YOUR own code rigorously.
There are several methodologies available for implementing it. Each of these methods co-exist because they differ in the effort required to create and subsequently maintain. The advantage of Data-driven testing is the ease to add additional inputs to the table when new partitions are discovered or added to the product or System Under Test. The cost aspect makes DDT cheap for automation but expensive for manual testing.
Feature: [short description] [story] [scenario 1] ... [scenario n]
Scenario: Display a number below 12 in written form Given I am on the main page When I enter 10 into my field And I press submit Then I see "ten" as a result
Test case - negative
Then the game should say “Welcome to CodeBreaker” But the game should not say “Save the cheerleader, save the world”
Test case - Background
Background: As part of each Scenario I want to set my defaults. Given my telephone number is "(100) 000-0001" And I am testing the "CCard" workflow.
Problem 1: TDD and Data Driven Testing
Create a program to feed at least 3 of your tests (refactor existing one or create new) with data from CSV and/or Excel. Don't forget to apply TDD.
Problem 2: Dynamic data
Refactor at least 3 of your already created tests to make use of Dynamic data generators. Consider already existing libs.
Problem 3: BDD
Create at least 3 tests using Behavior-Driven Development.