Social Icons

Tuesday, January 29, 2013

Manual Testing Introduction and its Overview


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.

                                                        NEXT

No comments:

Post a Comment