Project 1 - V&V SW Analysis - I
Write a Test plan to test features of a new mobile phone (Blackbox test) that needs to be implemented based on the following requirements. (The product is still under development stage and is yet to be UA (User Acceptance ) tested .Every other thing to be included in the test plan can be hypothetical.
Answer:
Test plan:
A Test Plan refers to a detailed document that catalogs the test strategy, objectives, schedule, estimations, deadlines, and the resources required for completing that particular project.
Importance of Test plan:
- They help individuals outside the QA teams (developers, business managers, customer-facing teams) understand exactly how the website or app will be tested.
- They offer a clear guide for QA engineers to conduct their testing activities.
- They detail aspects such as test scope, test estimation, strategy, and so on. Collating all this information into a single document makes it easier to review by management personnel or to re-use for other projects.
Components of test plan:
1) Scope:
2) Schedule:
3) Resource Allocation:
4) Environment:
5) Tools:
6) Defect Management:
7) Risk Management:
8)Exit Parameters:
Black Box Testing:
Black box testing assesses a system solely from the outside, without the operator or tester knowing what is happening within the system to generate responses to test actions. A black box refers to a system whose behavior has to be observed entirely by inputs and outputs. Even if the internal structure of the application under examination can be understood, the tester chooses to ignore it.
Steps of black box testing:
- The black box test is based on the specification of requirements, so it is examined in the beginning.
- In the second step, the tester creates a positive test scenario and an adverse test scenario by selecting valid and invalid input values to check that the software is processing them correctly or incorrectly.
- In the third step, the tester develops various test cases such as decision table, all pairs test, equivalent division, error estimation, cause-effect graph, etc.
- The fourth phase includes the execution of all test cases.
- In the fifth step, the tester compares the expected output against the actual output.
- In the sixth and final step, if there is any flaw in the software, then it is cured and tested again.
Black box testing can be done in the following ways:
1. Syntax-Driven Testing – This type of testing is applied to systems that can be syntactically represented by some language. For example- compilers, language that can be represented by a context-free grammar. In this, the test cases are generated so that each grammar rule is used at least once.
2. Equivalence partitioning – It is often seen that many types of inputs work similarly so instead of giving all of them separately we can group them and test only one input of each group. The idea is to partition the input domain of the system into several equivalence classes such that each member of the class works similarly, i.e., if a test case in one class results in some error, other members of the class would also result in the same error.
Regression Testing: It ensures that the newly added code is compatible with the existing code. In other words, a new software update has no impact on the functionality of the software. This is carried out after a system maintenance operation and upgrades.
Nonfunctional Testing: Nonfunctional testing is also known as NFT. This testing is not functional testing of software. It focuses on the software’s performance, usability, and scalability.
Tools Used for Black Box Testing:
- Appium
- Selenium
- Microsoft Coded UI
- Applitools
- HP QTP.
Test cases:
Test cases are created considering the specification of the requirements. These test cases are generally created from working descriptions of the software including requirements, design parameters, and other specifications. For the testing, the test designer selects both positive test scenario by taking valid input values and adverse test scenario by taking invalid input values to determine the correct output.
Basic test plan for Mobile testing is given below:
if(owner switch on the phone)
{
company logo at the center of the screen;
}
else if (customer press the power button)
{
open the apps in the grid;
}
else if (owner power on the phone)
{
shows call the phone icon in the first position at the bottom;
}
else if (owner power on the phone)
{
shows Dictionary icon on the second position at the bottom;
}
else if (owner click on call the phone icon)
{
contacts appear in chronological order.
}
else if (owner click on Dictionary icon)
{
the search bar appears at the center;
}
else if (owner long-press power on button)
{
displays Good-Bye and gets switched off;
}
else if (owners phone font)
{
always in caliber with the size of 12;
}
else if (touch-responsive)
{
always need UI to be touch responsive;
}
else (customer required no hard buttons)
{
touch screen sensitive;
}