Project 1 - V&V SW Analysis - I
Black box testing
Black Box Testing is a software testing method in which the functionalities of software applications are tested without having knowledge of internal code structure, implementation details and internal paths. Black Box Testing mainly focuses on input and output of software applications and it is entirely based on software requirements and specifications. It is also known as Behavioral Testing.
In this method, the tester selects a function and gives input value to examine its functionality, and checks whether the function is giving the expected output or not if the function produces the correct output, then it is passed in testing, otherwise failed. The test team reports the result to the development team and then tests the next function. After completing the testing of all functions if there are severe problems they it is given back to the development team for correction.
What is a Test plan?
A Test Plan is a detailed document that describes the test strategy, objectives, schedule, estimation, deliverables, and resources required to perform testing for a software product. Test Plan helps us determine the effort needed to validate the quality of the application under test. The test plan serves as a blueprint to conduct software testing activities as a defined process, which is minutely monitored and controlled by the test manager.In any company whenever a new project is taken up before the tester involves in the testing the test manager of the team would prepare a test Plan.
The following are some of the key benefits of making a test plan:
- It acts as a quick guide for the testing process.
- It helps to avoid out-of-scope functionalities
- Determines the time, cost, and effort
- Provide a schedule for testing activities Resource requirements and equipment
- Test Plan Document can be used for similar projects
- It helps to understand the test details
- It helps in determining the quality of software applications
Test Plan Attributes:
There are 16 attributes in Test Plan
Test Objective: it describes the aim of the test plan, whatever the good process and procedure they are going to follow to give quality software to customers. The overall objective of the test is to find as many defects as possible and to make software bugs free the test objective must be broken into components and sub-components.
Scope of Testing:
In-Scope: The modules that are to be tested rigorously.
Out-Scope: The modules that are not to be tested rigorously.
Testing Methodology: The methods that are going to be used for testing depend on application to application. The testing methodology is decided based on the feature and application requirements. Since the testing terms are not standard, one should define what kind of testing will be used in the testing methodology.
Test Approach: The approach to testing different software is different it deals with the flow of applications for future references.
Assumptions: in this phase, certain assumptions will be made.
Risk: All the risks that can happen if the assumption is breaking.
eg.,
- Test Manager has poor management skills.
- Hard to complete the project on time.
- Lack of cooperation.
- Backup/Mitigation Plan
Mitigation/Contingency plans: Contingency plans related to stabilizing and addressing risks in a structured fashion.
Roles and Responsibilities: All the responsibilities and role of every member in a particular testing team has to be recorded.
eg.,
- Test Manager: Manages the project, takes an appropriate resource, and gives project direction.
- Tester: Identify the testing technique, verify the test approach, and save project cost.
Scheduling: Under this, it will record the start and the end date of every testing-related activity.
Defect Tracking: It is an important process in software engineering as lots of issue arises when you develop a critical system for business. If there is any defect found while testing and that defect must be given to the developer team.
Test Environment: It is the environment in which the testing team will use Le the list of hardware and software, while testing the application, the things which are said to be tested will be written under this section.
Entry Criteria: The criteria that shall be met before we start executing a test case. Predefined set of conditions that shall be met.
Exit Criteria: The criteria that shall be fullfilled to complete the software testing life cycle(STLC).
Effort Estimation: Illustrate a detailed estimation of the effort required by the test engineers in the team to carry out the testing activity.
Test Automation: It consists of the features that are to be automated and which features are not to be automated.
Test Deliverables: Illustrate a detailed list of all the test deliverables that will be an output of the testing activity.
Before the testing phase:
- Test plan document
- Test case document
- Test design specification
During the testing phase
- Test scripts
- Test data
- Error logs
After the testing phase:
- Test Reports
- Defect Report
- Installation Report
Test plan to test features of a new mobile phone
if(owner switches 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 in the second position at the bottom;
}
else if(owner clicks on 'call the phone' icon)
{
contacts appear in chronological order;
}
else if(owner clicks on 'Dictionary' icon)
{
search bar appears at the center;
}
else if(owner long press power on button)
{
shows 'Good-Bye" and gets switched off;
}
else if(owner's phone font)
{
always in 'calibri' of size 12;
}
else if(touch-responsive)
{
UI always in touch-responsive;
}
else if(customer require no hard buttons)
{
touch responsive ;
}