What is Manual Testing ?
Testing is process execution of application in controlled
manner with the intent of finding the errors. It is nothing but “Detection”.
The Quality Assurance involves through out the
software development process to monitor and improve the process, making
sure that agreed upon standards and procedures
are followed and ensuring that problems are found and dealt with it.
It is oriented for “Prevention”.Solving
problems is a high-visibility process; preventing problems is low-visibility.This
is illustrated by an old parable.
Software Testing Def:
Testing is a process used to help
identify the correctness, completeness and qualityof developed computer
software. With that in mind, testing can never completely establish the correctness
of computer software.
Software Industry:
In
India itself, Software industry growth has been phenomenal.
IT
field has enormously grown in the past 50 years.
IT
industry in India is expected to touch 10,000 crores of which software share is
dramatically increasing.
Software Crisis:
Software cost/schedules are
grossly inaccurate.
Cost overruns of several times, schedule slippage’s by
months, or even years are common.
Productivity of people has not kept pace
with demand
Added to it is the shortage of skilled people.
Quality of software is than
desired
Error rates of released software leave customer
dissatisfied…Threatening the very business.
Purpose of Testing:
1. The main course of testing is to check for the existence
of defects or errors in a program or
project or product, based up on some predefined instructions or conditions.
2. The Purpose of Testing is to Analyze that the Product is
according to Requirements.
3. To improve the quality of the product.
4. To satisfy the customers need.
5. To provide a Bug free software.
What is Software Quality:
Quality software is reasonably bug-free, delivered on time
and within budget, meets requirements and/or expectations, and is maintainable.However,
quality is a subjective term. It will depend on who the ‘customer’ is and their
overall influence in the scheme of things.
A wide-angle view of the ‘customers’
of a software development project might include end-users, customer acceptance
testers, customer contract officers, customer management, the development
organisation’s management/accountants/testers/salespeople, future software
maintenance engineers, stockholders, magazine reviewers, etc.
Each type of
‘customer’ will have their own view on ‘quality’ - the accounting department
might define quality in terms of profits while an end-user might define quality
as user-friendly and bug-free.
Quality Assurance:
“Quality Assurance” measures the quality of processes used
to create a quality product.
Software Quality Assurance (‘SQA’ or ‘QA’) is the process of
monitoring and improving all activities associated with software development,
from requirements gathering, design and reviews to coding, testing and
implementation.
It involves the entire software development process - monitoring
and improving the process, making sure that any agreed-upon standards and
procedures are followed, and ensuring that problems are found and dealt with,
at the earliest possible stage.
Unlike testing, which is mainly a ‘detection’
process, QA is ‘preventative’ in that it aims to ensure quality in the methods
& processes – and therefore reduce the prevalence of errors in the
software.
What’s the difference between QA and testing?
TESTING means “Quality Control”; and
QUALITY CONTROL measures the quality of a
product; while
QUALITY ASSURANCE measures the quality of
processes used to create a quality product.
Difference between static and dynamic testing?
- Static testing is about prevention dynamic testing is about cure.
- The static tools offer greater marginal benefits.
- Static testing is many times more cost-effective than dynamic testing.
- Static testing beats dynamic testing by a wide margin.
- Static testing is more effective!
- Static testing gives you comprehensive diagnostics for your code.
- Static testing achieves 100 statement coverage in a relatively short time while dynamic testing often often achieves less than 50 statement coverage because dynamic testing finds bugs only in parts of the code that are actually executed.
- Dynamic testing usually takes longer than static testing. Dynamic testing may involve running several test cases each of which may take longer than compilation.
- Dynamic testing finds fewer bugs than static testing.
- Static testing can be done before compilation while dynamic testing can take place only after compilation and linking.
- Static testing can find all of the followings that dynamic testing cannot find: syntax errors code that is hard to maintain code that is hard to test code that does not conform to coding standards and ANSI violations.
- Ya Dynamic testing invoves functional testing also.
Software Engineering Process
- Consists of Three generic Phases:
Definition, Development, and Maintenance.
1. Definition (What)
Customer Contact, Planning, Requirement Analysis.
2. Development Phase (How)
Design, Coding, Testing.
3. Maintenance Phase (Change)
Correction, Adaptation, Enhancement, Reengineering.
4. Support Activities
Quality Assurance, Configuration Management.