First steps
What's most important in testing, is to split up the test cases into as little and detailed test steps as possible.
How to prepare a test case
- You need to be aware of the the requirements. If available, read the description in the Jira carefully and contact its developer/ author in case anything is unclear.
- Figure out which kind of data are needed for testing the issue.
- Create all necessary data. Do not use existing data since they might be corrupted or unsuitable.
- Figure out different test scenarios:
- find the easiest intuitive way to pass the test
- try to find alternatives for positive test results
- find ways to make the test fail (e.g. saving records without having filled all mandatory fields) - If you detect a bug, document it properly like this:
- describe the buggy behaviour as detailed as possible
- mention the environment and build you detected the bug
- add screenshots or videos in order to make the bug easy to reproduce for others
Sample pattern for reporting a requirement in Jira
Headline | Content |
---|---|
Business Process: |
The description of the business case (use case) that is condition for the triggering event of the functionality. |
Current situation: |
Description of current situation and pain point or need. |
Goal: |
At this place we need a short description with a clear goal of the new functionality. |
Business rules: |
Rules defined by the customer to represent the business. |
Actor: |
The actor is the one who triggers the functionalityto be processed (for example: MYDAS User; or: Reorg). |
Triggering Event: |
The triggering event describes cause of the action of the functionality (for example: Publish Button). |
Input: |
In case special values are required they should be described here (for example: specific master data). |
Precondition: |
Conditions to enable the functionality to be processed (for example: A value for spots must be available). |
Workflow: |
Description of workflow that is processed within the functionality (for example: After the user pushes the button the value must be checked and...). |
Exceptions: |
Exceptions are limiting factors for the entities of the functionality (for example: value is unique in the system; or: no overlapping time periods). |
Output: |
Result of processed functionality (for example: Email to the client). |
Background documentation: |
For example: Interface description |
Technical hints: |
For example: file path where to add the change |
Open points: |
Questions, unclear definitions, things out of scope |
Sample pattern for a bug report
Headline | Content |
---|---|
Description: |
It is possible to change the media combi and campaign of a bundle that is connected to a booked placement. |
Precondition: |
Spots are booked on a placement |
Workflow: |
|
Expected result: |
If the user changes media combi and campaign, an error should be thrown. Error message: EN: Actuals for placements are available. The changes could not be saved. DE: Placements mit Ist-Werten sind vorhanden. Die Änderungen wurden nicht gespeichert. |
Background information: |
A similar issue was solved with |
Technical hints: |
Resolution for change of campaigns: once a bundle has placements it mustn´t be possible to change the media combination. the needs to be handled by an error message once saving the bundle "Bundle has Placements already. no change of media combi allowed." |
Sample test case 1: How to create a new client
Action |
Expected result |
Possible exceptions |
---|---|---|
Open the client module. |
The module can be opened without any exceptions. |
Most likely are ORA-exceptions due to missing scripts. |
Create a new record. |
A new empty record is created. |
|
Enter a name and save. | Saving failed because the city in the address area is mandatory. | |
Enter a city name and save. | Saving failed because the zip code is missing. | |
Enter a 4 digit zip code and save. | Only for Germany: zip code needs to be a 5 digit number, saving failed. | |
Enter a 6 digit zip code and save. |
Only for Germany: zip code needs to be a 5 digit number, saving failed. |
|
Enter a 5 digit zip code and save. | Saving failed because the street is missing. | |
Enter a street name and save. | Saving failed because you need to assign a client type first. | |
Open the client type selection by clicking on the magnifying glass. | The selection is opened. |
|
Select the item WT (advertiser) by double clicking it. | The selected item is added to the vector in the background. | |
Save the record. | The record was saved and got an ID and Lupdate (last user and last time of modification). | |
Add client type RECH (invoice recipient) and save. | The record was saved. | |
Open the country selection in the address area. | The selection is opened. | |
Select a foreign country and save. | The record is saved with a warning. | |
Switch to tab "Invoice" and enter a VAT ID and a debtor number and save. | The record was saved and the warning disappeared. | |
Modify the address and save. | The record was saved. | |
Refresh the record. | The changes are still present. | |
Remove the Active-flag and save. | The record was saved. | |
Go back to the overview of all clients and refresh the view. | The deactivated client is now highlighted grey. | |
Open the client, reactivate it and save. | The record was saved. | |
Set the Lock-flag and save. | The record was saved. | |
Go back to the overview of all clients and refresh the view. |
The locked client is displayed in light grey font. |
|
Remove the Lock-flag and save. | The record was saved. |
Sample test case 2: How to create an order
Action | Expected result | Possible exceptions |
Open the order module. | The module is opened without any exceptions. | ORA-exceptions due to missing scripts. |
Create a new record. | A new empty record is created. | |
Save the record. | Saving failed because the advertiser is missing. | |
Click into the advertiser-field. | The selection is opened. | ORA-exceptions, nullpointer |
Rightclick into the selection and select "Show all" from the context menu. | The selection is extended. | |
Verify that only active and unlocked clients of type advertiser (combinations with other types are allowed) are displayed. | Only active and unlocked clients of type advertiser are displayed. | |
Select an advertiser via double click and save. | Saving failed because the agency is missing. | |
Click into the advertiser-field and select "Show all" from the context menu. |
Only active and unlocked clients regardless of their types are displayed. | ORA-exceptions, nullpointer |
Select a client and save. | Saving failed because the invoice recipient is missing. | |
Click into the advertiser-field and select "Show all" from the context menu. |
Only active and unlocked clients of their type invoice recipient (combinations with other types are allowed) are displayed. |
ORA-exceptions, nullpointer |
Select a domestic invoice recipient and save. | The order was saved with a warning referring to the missing sales area. | |
Select a sales area and save. | The order was saved without warnings. | |
Select a foreign invoice recipient and save. | The order was saved with a warning stating that invoice settings are required for foreign invoice recipients. | Please note: this warning will only be displayed if a sales area is allocated. Otherwise the warning due to the missing sales area will overwrite the warning on the invoice settings. |
Select invoice settings and save. | The order was saved without warnings. | |
Switch through the tabs. | None of the tabs is empty and contains fields/ tables/ embedded records/ vectors. | |
Create a suborder via special action. | An info pop up is shown and the suborder is now visible in the suborder tab. | |
Copy the order. | The order is copied and a link to the new record is displayed in a pop up. | |
Open the link. | The new order record is displayed in a pop up. Please note: Only raw order data such as advertiser, agency and invoice recipient were inherited. Suborders, sales area etc. were not applied to the copied record. |
|
Return to the original order record and copy it entirely. | The order is copied and a link to the new record is displayed in a pop up. | |
Open the link. | The entire order incl. suborders, invoice settings etc. was copied. Please note: the validity (From) is automatically set to the following month. |