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.
TEST PLAN:
A Test Plan means the detailed document which gives the test strategy,objectives, schedule, estimations deadlines and the resource required for completing that particular project. It is just like a blueprint for running the tests needed to ensure the software is working properly and controlled by test managers.
TEST DESIGN TECHNIQUE:
Ways in which we design the tests based on the understanding of the requirements. So we need to understand the requirements then creating the test design. Here we deploy the method to do the test.
1.Equivalent class boundary check:
Equivalence class: Object belonging to the same class.
We shall discuss the test technique with an example:
unsigned int a;
if(a<100)
{
statement for if loop
}
else
{
statement for else loop
}
Step 1:Determine the class.
'a' is variable of unsigned int.
Step 2:refine the clas.
The range of 'a' is 0 to 255.
Step 3:selecting class element.
Determing boundary class
0<a<99(if loop execution)
a=100(else loop execution)
101<a<255(else loop execution)
possible value are 'a' = 0 to 255(upper and lower limit)
'a'=99,100,101(equivalence boundary)
2.Classification tree method:
We keep all the test case as tree and then test. This CTM methods is utilized only when we clearly understand the concept.
The classification tree method consists of two major steps:
- Identification of test relevant aspects (so called classifications) and their corresponding values (called classes) as well as
- Combination of different classes from all classifications into test cases.
3.Elementary comparison test(ECT):
It is an importent test method. it follows the following steps.
- analysis the functional specification.
- identify the test situation.(atomic condition)
- specific logical test cases.
- concretize the logical test cases(use MCDC)
- specify concrete test cases
- specify the expected result.
MCDC is the concept used in ECT (can be used both black and white box testing)
4.Control Flow Test(CFT):
It looks like a flow chart. It will have start button and stop button.Control flow testing is a testing technique that comes under white box testing. a particular part of a large program is selected by the tester to set the testing path. It is mostly used in unit testing. Test cases represented by the control graph of the program.
Limitation:Number of path is exponential to the number of branches.Many paths are impossible to exercise due to relationship of the data.
5.State Transition technique:
State Transition Testing is basically a black box testing technique that is carried out to observe the behavior of the system or application for different input conditions passed in a sequence. In this type of testing, both positive and negative input values are provided and the behavior of the system is observed.
Steps:
Event(test stimulus)
guard(precondition of the test stimulus)
action (system reaction)
state(resulting area)
6.Error guessing:
It is used in black box testing. It is the non formal test design technique.
Procedure:
- Nominate experienced test engineer
- specific documentation evalution
Where is error and how to gyess it?
We must determine all the failure cases from a given scenario.
TEST CASE ATTRIBUTES:
Test case:It is the systematic procedure to execute a set of instruction for validate a particular software requirement at unit level or component level or module level or system level or customer acceptance level.
Test case ID: It provides linkage between test case and software requirement. ID is automatically generated and its unique.
Verification method: It specifies the verification method according to requirement. In this, integration test, hardware test and module/unit test were done. It may be mandatory/optional.
Testing status: coverage level of the requirement is obtained here. This attribute has the following values like non applicable, not covered, partially covered and fully covered.It may be mandatory/optional.
Responsibile team: It mention which team is responsible who are working under this. It may be mandatory/optional.
Maturity: It proides the status of the requirement.To get whether is it read for review or in creation stage or is it accepted or is it received by stackholder or invalid requirement etc. It may be mandatory/optional.
Module name: It is used to name the module to which it belongs. for example:it under goes 10 unit test i.e, 10 modules in the list.(like wheel, seat, pedal etc in cycle).
Pre condition:It tells about precondition of the software test to execute. It is mandatory.
test procedure: Mentioning input action and sequential steps(how the test has to be executed or in which order).It is mandatory.
expected result: what is the expected outcome of the test.It is mandatory.
Actual result: once we designed and run the program according to the procedure at last we get the actual result of the test.It is mandatory.
Test method: It generates the test cases and check the method is adequate.it denotes the method whether we are using ECT, CTM,STT,EQ etc.It is mandatory.
Test responsibility:one person who is responsible for the enter test.It is mandatory.
Test designer: It is similar to Architect i.e, who has designed the test to do.It is mandatory.
Manual Automation:It detemines whether test is manual or automated. It is mandatory.
SIL(Safety Integrity Level):SIL is high, risk is also high.It is mandatory.
priority: It gives priority of the test within one release cycle.
Release:After which release case, the test case is applicable.
Valid until release case: validity of the test case is provided here.
Customer Demo:It is also the attributes. It is mandatory.
Hardware variant:It define for which variant this test case is applicable. It is mandatory
Reuse:check whether the test cases are reusable or not. It is recommended to be mandatory.
Test suite:The definition of test suite is done in test strategy or test plan. it can have regression or integration tests.
TESTING TYPES:
Types of testing is classified into functional and non functional testing
Functional testing:If we do testing for testing the functionality of the software for the specified requirements is called functional testing.
Non functional testing: If we want the non functional aspects of the software with respect to the software component is called non functional testing.
Methods of testing:
1.Black box testing:
A method of testing which tests the functionality of the system without disturbing/looking the internal structure of the system.e.g:testing the lock and unlock status of phone
2.white box testing:
A method of testing which may or may not test the functionality of the system by deep into the internal structure of the system.e.g.Testing an embedded prototype.
3.Unit Test:
unit test is an example of white board test where the functionality is not considered. In which each unit is tested.
4.Regression testing:
It is a method of testing that test both function and non functional system after the integration of the all the unit is made.
Test plan to test the new phone
if (long press of the power button during off state of the phone)
{
phone switched ON with the company logo at center;
}
elseif (if customer press the power button)
{
phone switched ON with apps icon present in the grid;
}
elseif (Phone is powered ON by product owner)
{
call the phone icon will be first icon and Dictionary icon will be second icon at the bottom bar of the screen;
}
elseif (call the phone icon is clicked by product owner)
{
all contact are visible on chronological order;
}
elseif (Dictionary icon is clicked)
{
search bar appear at the middle of the screen for word search;
}
elseIf(long press of the power button during on condition)
{
phone will be switched off with "Good bye" message;
}
elseif(it is a product owner)
{
font is calibri and size be 12;
}
elseif(he/she is a customer)
{
UI is touch responsive;
}
else(he/she is a customer)
{
touch screen is sensitive and no hard buttons;
}