Wednesday, August 24, 2011
Tuesday, August 23, 2011
Software Testing-Testing Requirements
Software Testing-Testing Requirements
Software testing is not an activity to take up when the product is ready. An effective Software Testing begins with a proper plan from the user requirements stage itself. Software testability is the ease with which a computer program is tested. Metrics can be used to measure the testability of a product. The requirements for effective Software Testing are given in the following sub-sections.- Operability in Software Testing:
1. The better the software works, the more efficiently it can be tested.
2. The system has few bugs (bugs add analysis and reporting overhead to the test process)
3. No bugs block the execution of tests.
4. The product evolves in functional stages (allows simultaneous development & testing) - Observability in Software Testing:
1. What is seen is what is tested
2. Distinct output is generated for each input
3. System states and variables are visible or queriable during execution
4. Past system states and variables are visible or queriable (eg., transaction logs)
5. All factors affecting the output are visible
6. Incorrect output is easily identified
7. Incorrect input is easily identified
8. Internal errors are automatically detected through self-testing mechanism
9. Internally errors are automatically reported
10. Source code is accessible - Controllability in Software Testing:
1. The better the software is controlled, the more the testing can be automated and optimised.
2. All possible outputs can be generated through some combination of input in Software Testing
3. All code is executable through some combination of input in Software Testing
4. Software and hardware states can be controlled directly by testing
5. Input and output formats are consistent and structured in Software Testing
6. Tests can be conveniently specified, automated, and reproduced. - Decomposability in Software Testing:
1. By controlling the scope of testing, problems can be isolated quickly, and smarter testing can be performed.
2. The software system is built from independent modules
3. Software modules can be tested independently in Software Testing - Simplicity in Software Testing:
1. The less there is to test, the more quickly it can be tested in Software Testing
2. Functional simplicity
3. Structural simplicity
4. Code simplicity
- Stability in Software Testing:
1. The fewer the changes, the fewer the disruptions to testing
2. Changes to the software are infrequent
3. Changes to the software are controlled in Software Testing
4. Changes to the software do not invalidate existing tests in Software Testing
5. The software recovers well from failures in Software Testing - Understandability in Software Testing:
1. The more information we have, the smarter we will test
2. The design is well understood in Software Testing
3. Dependencies between internal external and shared components are well understood.
4. Changes to the design are communicated.
5. Technical documentation is instantly accessible
6. Technical documentation is well organized in Software Testing
7. Technical documentation is specific and detailed
8. Technical documentation is accurate
Software Testing-COMPANY STRUCTURE
Software Testing-COMPANY STRUCTURE
This is the basic Structure that is followed by most of the Companies.
Now let us see the category of Human Resources in Software Testing
QA:-Quality Assurance.
CEO:-Chief Executive Officer.
D:-Directors.
HTL:-Head Team Leader.
TM:-Technical Manager.
QM:-Quality Manager.
QTL:-Quality Team Leader.
PM:-Project Managers.
QL:-Quality Leader.
TL/PL:-Team Leader/Project Leader.
TL:-Test Leader.
SSE:-Senior Software Engineer.
STE:-Senior Test Engineer.
SE:-Software Engineer.
TE:-Test Engineer.
Introduction
Software Testing-What is Software Testing?
Actually what is Software Testing? This is the most important question to start with.Why to Test Your Software?
Even the most carefully planned and designed software, cannot possibly be free of defects. Your goal as a quality engineer is to find these defects. This requires creating and executing many tests.
In order for software testing to be successful, you should start the Software Testing process as soon as possible. Each new version must be tested in order to ensure that "improvements" do not generate new defects.
If you begin Software Testing only shortly before an application is scheduled for release, you will not have time to detect and repair many serious defects. Thus by Software Testing ahead of time, you can prevent problems for your users and avoid costly delays.
Let us derive the main definition for Software Testing.
I.Identifying the defects in Software Testing.
what does this defect mean in Software Testing?
The main purpose of Software Testing is to identify the defects.
Defect:-A flow in a component or system that can cause the component or system to fail to perform its required function.
Check also Fault,Failure Error,Bug etc.
Fault:- Fault is similar to a defect.
Failure:-Deviation of the component or system from its expected delivery,service or result.
Error:-A human action that produces an incorrect result.
Bug:- Bug is similar to that of an defect.
II.Isolate the defects.
Isolating means seperation or dividing the defects.
These isolated defects are collected in the Defect Profile
What is Defect Profile Document?
a.Defect Profile is a document with many columns in Software Testing.
b.This is a template provided by the company.
III.Subjected for rectification
The Defect Profile is subjected for rectification that means it is send to developer
IV.Defects are rectified
After getting from the developer make sure all the defects are rectified,
before defining it as a Quality product.
What is Quality in Testing?
Quality is defined as justification of user requirements or satisfaction of user requirements.
When all the 4 steps are completed we can say that Software Testing is completed.
Now Let Us Write A Proper Definition For Testing:--
SOFTWARE TESTING MAIN DEFINITION----
This is the process in which the defects are identified, isolated ,
and subjected for rectification and finally make sure that all the defects are rectified ,
in order to ensure that the product is a Quality product.
Objective of Software Testing
- Understand the difference between verification and validation testing activities
- Understad what benefits the V model offers over other models.
- Be aware of other models in order to compare and contrast.
- Understand the cost of fixing faults increases as you move the product towards live use.
- Understand what constitutes a master test plan in Software Testing.
- Understand the meaning of each testing stage in Software Testing.
Subscribe to:
Posts (Atom)