Sunday, February 24, 2019

How to write a Test Scenario?

What is a Test Scenario?

According to my understanding, one functionality can have many Test Scenarios and one Test Scenario can have many test cases. We are writing test scenarios or keeping track of test scenarios because it is an definite aid for our End to end testing. For end to end testing we cannot be executing all the test cases, so we have a set of test scenarios covering all the functionalities in a high level way.


How to prepare Test Scenarios?

Go through the functional spec or the backlog item and determine all the use cases or basically high level scenarios that you have to test. Basically you figure out these first and narrow down the test scenarios to test cases.

Example of How to come up with Test Scenarios for a particular functionality?
Assume the functionality you have to test is purchasing Unit trust which can be Lump sum or Monthly and which can be paid using different payment methods like Cash, SRS or CPF? Minimum amount for purchasing is $1000. Purchased funds are visible to customer.

So basically you can come up with following test scenarios:
  • Purchase Lump Sum unit trust
  • Purchase Monthly unit trust
  • Purchase both monthly and Lump sum unit trust together
  • Purchase unit trust with different payment methods
  • Can't purchase due to Account having not sufficient funds
You can derive test cases as the following:
  • Verify Lump Sum field only accepts numeric
  • Verify Lump Sum field minimum should accept $1000
  • Verify Monthly field only accepts numeric
  • Verify Monthly field minimum should accept $1000
  • Verify when Lump Sum unit trust is purchased, it is displayed to customer
  • Verify when Monthly unit trust is purchased, it is displayed to customer 
  • Verify the records in backend whether purchase successful
  • Verify pay with Cash
  • Verify pay with CPF
  • Verify pay with SRS
  • Verify pay with Cash/ CPF/ SRS when customer don't have the relevant account
  • Verify the error message displayed when customer don't have sufficient funds
  • Verify purchasing unsuccessful screen

Hope this article helps to identify the differences between Test scenario and Test case.

Saturday, February 23, 2019

How I practiced Scrum as a QA member?

The Scrum Process I followed

First of all the client is going to create a Product Backlog using Visual Studio Team Foundation Server. The Product Backlog includes all the Backlog items that should be implemented. Backlog item is a specific user story which includes the acceptance criteria for that particular user stories. Like that 100+ backlog items will be there in the Product Backlog.

Prioritization of Product Backlog Items 

The product owner or client will prioritize the backlog items based on the urgency of implementation. Once the backlog items are prioritized the Scrum Master will take several prioritized backlog items to a Sprint. 

What is a Sprint?

A sprint usually will be timed for one month or less than a month. I followed 21 working days Sprint. At the end of a Sprint an usable and potentially releasable product will be released to the Product owner or client. This product we create is incremental and iterative. It will take a few more sprints to complete the Product with all the functionalities yet each Sprint delivers a workable product to customer. A new sprint will start immediately after a Sprint is finished.

Task Breakdown and Task Estimation
The Scrum Master will assign prioritized backlog items for each sprint. Then the team as a whole will divide tasks for each backlog items. Each backlog item will have 2 or 3 development tasks and one QA task. Then the developers will be estimating the hours for each development task using planning poker technique also the QA task will be estimated by QA members in the team using the same planning poker technique. 
Note : This task breakdown and task estimation is done on the Day 1 of the Sprint. 

Buffer time and additional QA tasks per Sprint

Additionally to the tasks breakdown for each backlog item that are taken into the sprint, the team will create few more tasks for QA. Eg: Performance testing task, Integration testing task, Regression Testing task, Automation Testing Task, Test case Creation Task and Test case Review task. Also developers will have their own common tasks created. All these tasks will be estimated using planning poker technique. Usually there will be one internal demo task, Sprint Review task and Sprint Retrospective task included within the sprint. 
Usually team decides how much buffer time needs to be included within a sprint because we never know what will go wrong within a sprint. Buffer time will usually be 1 or 2 days within a Sprint.


What is Sprint Retrospective?

This meeting is normally hosted by Scrum Master. It usually takes place after the Sprint Review and before the next Sprint starts. During the Sprint Retrospective, the team discusses:
  • What went well in the Sprint?
  • What could be improved?
  • What will we commit to improve in the next Sprint?


What is Daily Scrum Meeting?

The Scrum Master, the team and the Product Owner usually sits for this Daily Scrum Meeting. 

During the daily scrum, each team member answers the following three questions:
What did you do yesterday?
  • What will you do today?
  • Are there any impediments in your way?
  • The impediments will be discussed offline after the Scrum meeting.

If any questions happy to answer more!

Importance of Daily Scrum Meeting and Sprint Retrospective

Importance of Daily Scrum Meeting What is a Daily Scrum Meeting? A Scrum meeting is usually held for Projects that are focusing on Agi...