1. Vocabulary
Preventive Method
Detective Method
Internal Auditing is an independent appraisal activity within organizations for the review
of operations and is the service to management.
The cost of quality is basically the amount spend to develop the product.
The cost of quality includes the additional costs spend to ensure that the products is
delivered with quality.
Prevention Costs
Money spend to ensure that to do the job right at the first time.
It includes money spends on creating the testing process and standard, Learning
Tools, training provided to workers etc.
Appraisal Costs
It has been done after the product is build and before the products is delivered
to the customers.
Failure Costs
What will happened if the features which is needed not available in the
applications.
Quality
Quality is all about treating the client with respect by meeting the customer expectations
by satisfying the customer needs by delivering the right product.
Excellence
It is the measure or degree of quality. It is very important and it also the starting point for
any management to implement the quality policy.
The common trend of today quality is mainly focus on customer and more importantly
customer satisfaction.
External Customers:
The customer you are using your products provided by the organization.
It basically identifies the customer and satisfies the requirements.
Internal Customers:
A Person or groups which provide the results of any work. It is either related with
products, or individual performance etc.
It includes subordinates team members and other people within the organization.
The Limitation that the person who developed itself has testing based on the requirements
as follows.
As far as developers are concerned they are focusing whether the product is built based on
the specification.
As far as Customer is concerned they are focusing whether the products is fit for use and
met the user needs.
There will be gap in between us. As software testers we need to reduce the gap in between
and make the products as consistent one.
The constants product can achieve by interacting with the clients on regular intervals.
They also need to include in the meeting and ensure that the products is developed based
on user needs.
As a testers need to be reduce the Variability and improve the quality of the product.
The concept of Measuring and reducing Variability is called Statistical Process Control (SPC)
The Important of measuring the variability is used to identify the weakness of the current
process and also helps to improve the process.
Special Causes of Variability is not included in the process it occurs because of unique
circumstances.
Common Cause of Variation is nothing but the collection of small variation which affect the
major concerns.
With he help of Statistical results we can identify he current process and take immediate
step to improve the process.
Machine
People component
Method Component
Procedure, Policies
Environment
Process be in control
The variation is calculated based on standard deviation and mean. If the standard
deviation and mean is constant over time the process is stable.
Testing is nothing but the Measurement process. Based on the statistical output we can able to
analysis the quality of the product which helps to identify the weakness and improve the quality of
the product.
The capability maturity model is the algorithm which helps to identify the more effective and
efficient product.
They identify five maturity model level 1 to Level 5
Level 1 (Adhoc)
--- Unstructured
--- No proper Discipline and Culture
--- Process was not defined.
--- Process was differing from project to project.
--- Workers basically concentrate on there personal agenda rather than organization
Mission.
Level 2 - Control
--- Structured
--- Proper Discipline and Culture
--- Process is well defined.
--- Verification and Validation to check the product standard
--- Concentrate in building and improve the work process.
Level 4 Predictable
--- Measurement is the key factor and evaluates the individual performance.
--- Management is the coaches to all the individual by identify the obstacles facing day
to day activities and take necessary steps.
--- Competency is defined and then the organization is build
--- Each competency has its own responsibility to improve them.
--- Training need to provide to each individual so that they are capable to handle.
--- Well Structured
--- Process is well defined.
--- Proper discipline and culture.
--concentrate in building and improve the work process.
Level 5 Innovative
- Testing is finally recognized as a profession which needs specialized skills set and
qualifications.
- Also it is convinced testing will not start once the development is completed.
- Testing needs to be start in every stage of the software development Life Cycle.
- Testers need to be ensuring that the design documents developed based on the
requirements specifications.
- Testers need to be ensure that the test cases and test plan was created based on the
requirements specifications.
- Testers need to be ensuring that the defects need to find out before the test cycle starts
so that the cost spends will gradually decreases.
- Finding out defects in the later stage of the product will leads the cost spend to recify
the defects is very costly.
Training in Testing
Good Relationship with Developers.
Good Relationship with Customers.
Managers need to understand about testing.
Using of Tools.
time on Testing
Fighting a lose-lose situation
Having to say No
Testing “Over the wall” Software
Having to say “no”
As far as tester is concerned, needs to be test in such that it is fit for use and meet he
user needs.
Testers need to take up the responsibility to make the bug free products.
It is testers’ responsibility to ensure to certify that the products are ready for
production.
Testers need to find out the defects in the early stage, defects found out in the later
stage of the build may cause difficult to rectify the defects and also cost faster is very
high.
For example: in case there is the issue in the design stage and it was not identified and
the coding was developed and the testing has done and implemented in the production. In the
later stage once they identified in the production. Erroneous cost need to spend to resolve the
issue. Designed need to be change based on organization needs and coding need to be altered,
test case need to be change , risks also need to be considered so that the new features doesn’t
affects the other features before it is implemented in the production.
Testing Constraints
Budget and Schedule can limit the testers to complete their test plan.
The cost is dynamically increases as defects found out in the later stage in the test
phase.
It is Testers Responsibility to ensure to find out the defects in the early stage of the life
cycle so that help to reduce the number spend to resolve the problem.
The cost of uncovered defects is increases as the cost spend of the testing is less.
Most problem associate with testing occur in one of the following causes
Software Risks
In any of the Risk occurs it affect the substantial loss in the organization.
The decision is need to take how much risk is acceptable and it is clearly mentioned in
the test plan.
Defects are identified in the software because of following Circumstances
IT Improper Requirements.
User Provide the Wrong Requirements
Requirements are wrongly Recorded
Design Specifications is incorrect.
Program Specifications is Incorrect.
Entire Coverage is not tested properly
Time pressures
Inadequate Testers
Inadequate Developers
Life cycle testing involves continuous testing of the application even after software plan
are completed and the tested system is implemented.
Test Matrices
The test matrix shows the interrelationship between functional events and tests.
The completed test matrix will contain the condition that tested during the test process
and the corresponding action.
The left side of the matrix shows the functional events and the top identifies the test occur
on those events.
The test that occur on functional events vary based on event themselves.
Instead of maintaining one single functional events and tests we can decomposed in to
two or more functional events. Based on the output of the one functional events we can process
the other functional events.
Based on the output of the one functional events will create a other functional
events which shows the relationship between the events.
Independent Testing
The primary responsibility of the independent testing is to ensure that quality is measure
accurately.
As far as independent testing exists there are mainly responsible for system testing and
oversight of Acceptance Testing .
They are also involved in other types of testing such as load testing and stress testing etc.
Test Manager
Testers
Before the task starts we need to ensure that all the entry criteria is available as per the test
Procedure
Procedure to do work basically check what are the task need to be accomplished
Procedure to check work - Basically ensure that whether we met the specifications and
standards.
Rework If there is any issues it moved to rework. If it is not satisfied the standards.
Both Developmental activities and testing activities will carried out simultaneously
Development team and testing team will maintain the separate methalogies and met the
objective.
At certain point of time in the development process the testing process will come in to
picture and start finding defects in the system.
During the acceptance criteria both development and testing team will work closely and
properly integrated in to production environment.
Development Testers
Structural analysis basically test the uncover error occur during the coding of the program.
Functional testing basically concern about the results but not the processing.
Structural testing is basically concern both the results and also the process.
Structural testing is used in all the phases where design , requirements and algorithm is
discussed.
The main objective of the Structural testing to ensure that the functionality is working fine
and the product is technically good enough to implement in the real environment.
Functional testing is some times called as black box testing, no need to know about the
coding of the program.
Structural testing is some times called as white box testing because knowledge of code is
very much essential. We need the understand the code written by other users.
Stress Testing
Execution Testing
Operations Testing
Recovery Testing
Compliance Testing
Security Testing
Stress Testing
• Basically test the application to ensure how system is behave when large volume
of data interact with the system.
• The objective of the stress testing is basically stress the application and check
the applications before it is put in to the production environment.
• Normal and abnormal of data was processed during the specific time frame
• Test data can create either with the data used in the production environment or
the set of data can create on your own.
• We can also check whether the sufficient disk space is allocated to the
application.
• We can also check whether any communication link failure come across at the
time of the processing the transactions.
• People you are involving of entering instructions need to the end user you is
going to use the application one it is put in to production.
• Stress testing need to break the system by overloading the large number of
transactions.
• The disadvantage of stress testing is the amount to time to use to prepare for the
test and the amount of resources used for it. However it will helps to take up the
decision to whether we make the application live based on the results which will
help to reduce the risk.
Execution Testing
Execution Test can be used in early stage of the development process and
check the performance of the code is effectively used.
Ability to restart the operations after the integrity of the application is lost.
It is advice that the operational staff need not involved in recovery testing
and only professionals need to be involved.
• Either with the recovery tools and the set of the methods and
procedures to resolve it.
The user should estimate the potential loss inability to recover over the time
spans. Ability not to recovered may lead to the business loss.
The potential loss is calculated in such that the amount of resource used for
recovery testing.
o After testing and the application is put in to the productions and the operational `
staff is going to use the application.
o Objective
Prepare the detail documents which contain the details overall of the
application.
Provide the complete training to the Users.
o Operational testing is basically done before the production start and it is each
end user responsibility to understand the system properly before the productions
start.
It is very importance Compliance testing need to be done in all the phases of the `
developmental process.
Objectives
Once the program is developed the group of developers can sit together
and review the codes and ensure that the programming code is developed
based on the IT Standard and guidelines.
Managements need to be very much clearly which the confidential information is.
Because the improper disclosure will make the business loss.
Objective
Requirements Testing
Basically verify the system is working as far the specifications over the continuous period of
time.
Maintain corrections of the programs over the period of time and ensure it is capable to
make it live.
Ensure that the applications are developed based on Organization Policy and Guidelines.
The process is start with the requirements and continues in each and every phase of the
system developments life cycle.
Regression Testing
Basically retest the application and ensure that the applications are working as per the
requirements even though there is the change made in another part of the applications.
Once the application had been implemented in the production and the new features had
requested by the client and the developers had develop it, Regression testing is done on the
applications before it is put in to the applications to ensure that the new features apply on the
applications couldn’t affect the existing feature already have in the application.
At the time of creating the new products in each stage of developing the new product new
features are getting added and however with the help of regression testing we can able to check
that the new features doesn’t affect the existing features in the application.
Each and every time existing test cases which is developed earlier is tested against the
applications.
The main objective of the Error handling testing techniques is to ensure that the
applications are capable to handling incorrect Transactions.
The application is smart enough to identify the incorrect transactions and approximate
decision need to take and intimate the end user.
Normal testing is basically test the application is working properly as per the
requirements but error handling testing is exactly the opposite manner.
Error handling testing is basically done by Experience persons who had the full
knowledge of the domain.
Error handling testing can generate in such that the improper transactions is done in-
between the proper transactions and check how the system is behaved during improper
transactions and identify the problems.
Use the improper master data and check the application whether it is capable to identify
the problem and informed to the Users.
Integration Testing
Integration testing is basically check the applications when two or more modules
combines together and ensure that it is working based on the requirements.
Initially once the application is developed it is develop individually and test the application
whether it is satisfy the requirements.
As the applications which is implemented in the production is nothing but the collection of
modules as the testers we need to ensure that the application is working as per the user needs
once all the modules are integrated with the single application.
Control Testing
Create a scenario and ensure that the risk is created and check whether control can easily
reduced the risks.
Control oriented people can frequently do control testing. Like error handling it required
negative look on the application to ensure that what can go wrong.
The main objective of parallel testing is to ensure that the new application is consistent
with the processing of previous application or version of the application.
Old system and new system are run and the results compared to detect unplanned
differences
It is easy to use
It is easy to maintain
It is easy to operate when compared to old version of the software.
As long as the staff are very much comfortable in the new version, they will continue with
the old version.
The change of new version can happened either in a day or a week or a month or
sometimes it takes a year.
It all based on the people you are involving and the performance of the application.
No Verification Validation
.
1. Verification is a STATIC testing procedure. Validation is DYNAMIC testing
procedure.
2. It involves verifying the requirements, Validation involves actual testing of
detailed design documents, test plans, the product as per the test
walkthroughs and inspections of various plan (unit test, integration test,
documents produced system test and acceptance test etc).
during the development and testing process.
3. It is a PREVENTIVE procedure. It is a CORRECTIVE procedure.
4. Are we building the product RIGHT? Are we building the RIGHT product?
5. It involves more then two to three persons It involves the testers and sometimes
and is a group activity. user.
6. It is also called Human testing, since it It is also called Computer testing,
involves finding the errors by persons since errors are found out by testing
participating in a review or walk through. the software on a computer.
7. Verification occurs on Requirements, Design Validation occurs only on code and
and code. the executable application.
8. Verification is made both in the Executable Validation is done only on Executable
and Non Executable forms of a work product forms of a work product.
9. Verification finds errors early in the Validation finds errors only during the
requirement & design phase and hence testing stage and hence cost of errors
reduces the cost of errors. reduced is less than Verification.
10. An effective tool for verification tool is a Various manual and automated test
Checklist. tools are available for Validation.
11. It requires cooperation and scheduling of It is to check that the product
meetings and discussions. satisfies the requirements and is
accepted by the user.
12. Verification tasks include: Validation tasks include:
1) Planning 1) Planning
2) Execution 2) Testware Development
3) Test Execution
4) Testware Maintenance
13. Verification activities include: Validation activities include:
1) Requirements Verification 1) Unit testing
2) Functional design verification 2) Usability testing
3) Internal Design Verification 3) Function testing
4) Code Verification 4) System testing
5) Acceptance testing
14. Verification deliverables (work products) Validation deliverables are:
are: 1) Test plan
1) Verification test plan 2) Test Design Specification
2) Inspection report 3) Test Case Specification
3) Verification test report 4) Test Procedure Specification
5) Test log
6) Test incident report
Verification
Feasibility Review
Requirements Review
Validation
System Testing
Unit Testing
Integration Testing
User Acceptance Testing
Statement Coverage
Decision Coverage
Condition Coverage
Decision / Condition Coverage
Multiple Condition Coverage
Equivalence Partitioning
If the text box accept only between 10 to 100 check condition will be
< 10
> 100
Between 10 and 100
Checking on Boundary
Checking Lower Boundary
Checking Upper Boundary
Error guessing
Incremental Testing
Top Stub
Down Drivers
Desk Checking and Peer Review
Desk Checking is the most traditional means for analyzing the problem.
In order to Improve the efficiency of desk checking it is important that the program review
the code against design specifications.
It is not easy to find out error on our own code , it is good to review the other
programming code. And the same other person can review your code.
Peer review will tends to increase the quality of the software production.
A Panel is set up for review the sample code on a regular basis and provide feedback to
the individual programmer.