20
Software Testing Principles and Concepts 1. Vocabul ary Quality is segmented in to two Categories Preventive Method Detective Method Producer Viewpoint: Quality of the products meets his requirements Customer Viewpoint: Quality of the product is fit for use or meets the customer needs 1.1 Difference between QA and QC Quality Assurance Quality Control QA helps to establish the process QC Relate with specific Product or  Service QA identify the weakness of the current process and improve the process QC verifies whether the specific feature are available or not QA is concerned with all the products where the process is followed. QC identify the defect and correcting the defects QA is also called as QC over QC and evaluates whether QC is working QC is the responsibility to the team/worker If there is no process there is no QA QC is concerned with the specific product QA is the set of systematic activities provide the confident that the products met his specification and satisfy the user needs QC is the process where product quality is compared with the standard and ensure that the product is developed based on the standards Quality policy is implemented through the development and continues improvements of the software development process QC is start with the requirements and ends when testing is completed. Internal Auditing is an independent appraisal a ctivity within organizations for the review of operations and is the service to management. 1.2 Cost of Quality 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 spends to prevent error before the product is build. Money spend to ensure that to do the job right at the first time.

1-Software Testing Principles and Concepts

Embed Size (px)

Citation preview

Page 1: 1-Software Testing Principles and Concepts

8/8/2019 1-Software Testing Principles and Concepts

http://slidepdf.com/reader/full/1-software-testing-principles-and-concepts 1/20

Software Testing Principles and Concepts

1. Vocabulary

Quality is segmented in to two Categories

Preventive MethodDetective Method

Producer Viewpoint: Quality of the products meets his requirementsCustomer Viewpoint: Quality of the product is fit for use or meets the customer needs

1.1 Difference between QA and QC

Quality Assurance Quality Control

QA helps to establish the process QC Relate with specific Product or  

ServiceQA identify the weakness of the current process andimprove the process

QC verifies whether the specific featureare available or not

QA is concerned with all the products where theprocess is followed.

QC identify the defect and correcting thedefects

QA is also called as QC over QC and evaluateswhether QC is working

QC is the responsibility to theteam/worker 

If there is no process there is no QA QC is concerned with the specific product

QA is the set of systematic activities provide theconfident that the products met his specification andsatisfy the user needs

QC is the process where product qualityis compared with the standard and ensurethat the product is developed based onthe standards

Quality policy is implemented through the

development and continues improvements of thesoftware development process

QC is start with the requirements and

ends when testing is completed.

Internal Auditing is an independent appraisal activity within organizations for the reviewof operations and is the service to management.

1.2 Cost of Quality

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 isdelivered with quality.

Prevention Costs

Money spends to prevent error before the product is build.

Money spend to ensure that to do the job right at the first time.

Page 2: 1-Software Testing Principles and Concepts

8/8/2019 1-Software Testing Principles and Concepts

http://slidepdf.com/reader/full/1-software-testing-principles-and-concepts 2/20

It includes money spends on creating the testing process and standard, LearningTools, training provided to workers etc.

Appraisal Costs

  Money spend to review the products against requirements.

It has been done after the product is build and before the products is deliveredto the customers.

It include money spend on inspection, testing and reviews

Failure Costs

Money spends once the products are implemented in the production.

It includes repairing of products and makes them to meet requirements.

1.3 Software Quality Factors

It mainly deals with the Risk Factors

What will happened if the features which is needed not available in theapplications.

Not Easy to Use

There are 11 Software quality factors

Reliability Perform intended function with required precision

Maintainability - Effort of testing the application any changes are madeTestability - Effort for testing the applications

Flexibity Effort required modifying the program.

Portability Effort to transfer from one configuration to another 

Integrity Unauthorized person cannot be accessed.

Reusability Reuse some set of functions

Interoperability Couple one system with other 

Correctness - Fulfill the user’s Mission Objectives

Efficiency resources to perform a function.

Usability Effort for learning

It include the following survey

Consider Basic Characteristics of the ApplicationConsider Life Cycle ImplicationsPerform Trade off among the tentative list of software quality factors

Identify the most important software quality factorsProvide explanations for choices.

Page 3: 1-Software Testing Principles and Concepts

8/8/2019 1-Software Testing Principles and Concepts

http://slidepdf.com/reader/full/1-software-testing-principles-and-concepts 3/20

1.4 How Quality is defined.

Quality is based upon customer satisfaction; each organization is needed to definethe quality before it was achieved.

There are five prospective for quality

Product Based Product has all the features

Value Based Acceptable Cost

User Based Fit for Use

Transcendent I know it when I see it

Development and manufacturing base Meet his requirements.

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.

Quality in Fact Quality in Perception

Doing the Right Thing Delivering the Right Product

Doing in Right Way Satisfy the Customer Needs

Doing it for First time Meeting the Customer Expectation

Doing it on Time Treating Every customer with Respect

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 importantlycustomer satisfaction.

There are two types of Customers

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 withproducts, or individual performance etc.

It includes subordinates team members and other people within the organization.

All organization will focus on both Internal and External Customers.

Page 4: 1-Software Testing Principles and Concepts

8/8/2019 1-Software Testing Principles and Concepts

http://slidepdf.com/reader/full/1-software-testing-principles-and-concepts 4/20

1.5 Why do we test software?

Developers are not Good Testers

  The Limitation that the person who developed itself has testing based on the requirementsas follows.

1. Misunderstanding cannot be deductible2. Improper use of Software development Process.3. Due to the change in the requirements the system specification is keep on changing in

spite of that they may be certain functionality may missed which was not noticed.4. Developers blindly thinking what they developed are correct.5. Improve the developmental process.

1.7 Quality Software

As far as developers are concerned they are focusing whether the product is built based onthe specification.

As far as Customer is concerned they are focusing whether the products is fit for use andmet the user needs.

There will be gap in between us. As software testers we need to reduce the gap in betweenand 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.

1.8 Why Development process produce Defects

Developers won’t take Variability in to account why developing the product.

Variability is the enemy of quality.

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 application is stable if the process remains constant over time.

The Limits is needed to be within the range all the times.

The Important of measuring the variability is used to identify the weakness of the currentprocess and also helps to improve the process.

It also helps the process to be consistent in all the time.

Special Causes of Variability is not included in the process it occurs because of uniquecircumstances.

Common Cause of Variation is nothing but the collection of small variation which affect themajor concerns.

Page 5: 1-Software Testing Principles and Concepts

8/8/2019 1-Software Testing Principles and Concepts

http://slidepdf.com/reader/full/1-software-testing-principles-and-concepts 5/20

With he help of Statistical results we can identify he current process and take immediatestep to improve the process.

Some of the examples for Variability

Machine 

Office Equipment, Software , Hardware

People component

Training, experience Attitude

Method Component 

Procedure, Policies

Environment

Temperature, Lighting, Humidity

Process be in control

The variation is calculated based on standard deviation and mean. If the standarddeviation and mean is constant over time the process is stable.

Brain Joiner summarized the special causes of variation as follows.

Process input and condition is contribute the variability of process outputs.Each special causes can causes small or large in the total variation of the processoutputs.

The varability is identified by the use of control charts

Elimate the special causes of variation

Take up the immediate steps when variability occurredDo not make fundamental changes in the processUser early warning throughout your operation.

Why Testers need to know SPC

Testing is nothing but the Measurement process. Based on the statistical output we can able toanalysis the quality of the product which helps to identify the weakness and improve the quality of the product.

1.9 Reducing the frequency of defects in the software development

The capability maturity model is the algorithm which helps to identify the more effective andefficient product.

Page 6: 1-Software Testing Principles and Concepts

8/8/2019 1-Software Testing Principles and Concepts

http://slidepdf.com/reader/full/1-software-testing-principles-and-concepts 6/20

They identify five maturity model level 1 to Level 5

Level 5 --- Has less Variability

Level 1 has more Variability

The cost spend in level 1 is 10 times more than Level 5.

If the cost spend is 1000 in level 1 company may 10 in Level 5 Organization

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 3 – Core Competency

--- 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 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

--- True leader in the Industry--- Measure themselves through Benchmarking--- Constantly focusing on improving.

Page 7: 1-Software Testing Principles and Concepts

8/8/2019 1-Software Testing Principles and Concepts

http://slidepdf.com/reader/full/1-software-testing-principles-and-concepts 7/20

--- New Technology is Introduced--- Continuous learning occurs in both individual as well as organization.

Multiple Roles of Software Testers

1.10 People Relationship

- Testing is finally recognized as a profession which needs specialized skills set andqualifications.

- 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 validate whether the requirements specification documents isdeveloped based on the needs of the organization.

- Testers need to be ensuring that the design documents developed based on therequirements specifications.

- Testers need to be ensure that the test cases and test plan was created based on therequirements specifications.

- Testers need to be ensuring that the defects need to find out before the test cycle startsso that the cost spends will gradually decreases.

- Finding out defects in the later stage of the product will leads the cost spend to recifythe defects is very costly.

The top 10 people challenges have been identified

Training in Testing

Good Relationship with Developers.Good Relationship with Customers.Managers need to understand about testing.Using of Tools.time on TestingFighting a lose-lose situationHaving to say NoTesting “Over the wall” SoftwareHaving to say “no”

1.11 Scope of Testing

As far as tester is concerned, needs to be test in such that it is fit for use and meet he

user needs.

Tester’s needs to test the product based on customer prospective.

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.

Page 8: 1-Software Testing Principles and Concepts

8/8/2019 1-Software Testing Principles and Concepts

http://slidepdf.com/reader/full/1-software-testing-principles-and-concepts 8/20

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 veryhigh.

For example: in case there is the issue in the design stage and it was not identified andthe coding was developed and the testing has done and implemented in the production. In thelater stage once they identified in the production. Erroneous cost need to spend to resolve theissue. 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’taffects the other features before it is implemented in the production.

Testers need to involves in all the phases

Requirements DesignCoding Testing Implementation Maintenance.

Testing Constraints

Budget and Schedule 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 testphase.

It is Testers Responsibility to ensure to find out the defects in the early stage of the lifecycle so that help to reduce the number spend to resolve the problem.

As the cost of testing increases the number of uncovered defects decreases.

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

Fail to define test objects.Test the application in the wrong phaseIneffective test objectives

Software Risks

Incorrect results will be producedUnauthorized transactions will be accepted by the systemApplication is not easy to UseApplication can’t able to maintain

It is difficult to operatePerformance level is not acceptable.

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 inthe test plan.

Page 9: 1-Software Testing Principles and Concepts

8/8/2019 1-Software Testing Principles and Concepts

http://slidepdf.com/reader/full/1-software-testing-principles-and-concepts 9/20

Defects are identified in the software because of following Circumstances

IT Improper Requirements.User Provide the Wrong RequirementsRequirements are wrongly RecordedDesign Specifications is incorrect.Program Specifications is Incorrect.Entire Coverage is not tested properlyTime pressuresInadequate TestersInadequate Developers

Testers need to identify two types of defects

Variance from specifications Defects from perspective of the product

Variance from what is desired Defects from customer prospective.

Life Cycle Testing

Life cycle testing involves continuous testing of the application even after software planare 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 processand the corresponding action.

The left side of the matrix shows the functional events and the top identifies the test occur on those events.

Cascading Test Matrices

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 totwo or more functional events. Based on the output of the one functional events we can processthe other functional events.

It has the following 2 advantages

Tests can be customized in to functional events

Based on the output of the one functional events will create a other functionalevents which shows the relationship between the events.

Page 10: 1-Software Testing Principles and Concepts

8/8/2019 1-Software Testing Principles and Concepts

http://slidepdf.com/reader/full/1-software-testing-principles-and-concepts 10/20

Independent Testing

The primary responsibility of the independent testing is to ensure that quality is measureaccurately.

As far as independent testing exists there are mainly responsible for system testing andoversight of Acceptance Testing .

As a testers the individual Must

Understand the System.Understand the Technology it was developed

They are also involved in other types of testing such as load testing and stress testing etc.

Test manager and Testers are involved in Independent testing.

Test Manager 

Test planning and estimation.Designing the Test strategyReviewing analysis and design artifactsManaging the test effortOverseeing the Acceptance Criteria.Controlling the Test Members.

Testers

Developing the test casesExecute the test cases

Defect tracking and reporting.Review Analysis and design artifacts.Involved in System testing and Regression Testing

1.18 Tester’s Workbench

Process is the set of activities to accomplish the task.Both development and testing are maintaining the process.The outcome of the process is a product or a service.

PDCA is the conceptual view of process

Workbench is a more practical illustration of the process

Plan Do Check Act (PDCA)

Plan Derive a plan

Do Execute the plan

Check Check and ensure that we are working as per the plan.

Act Make the necessary action or alternative so that at any point of time we are metingthe objective.

Page 11: 1-Software Testing Principles and Concepts

8/8/2019 1-Software Testing Principles and Concepts

http://slidepdf.com/reader/full/1-software-testing-principles-and-concepts 11/20

Work Bench Process

The working is nothing but the tasks , phases or stages.

Each task has three components Input Process Deliverable.

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 andstandards.

Rework If there is any issues it moved to rework. If it is not satisfied the standards.

Release If there is no problem it is moved to deliverables.

1.19 The V Concepts of Testing

It is the continuous testing of the system during the developmental process.

Both Developmental activities and testing activities will carried out simultaneously

Development team and testing team will maintain the separate methalogies and met theobjective.

At certain point of time in the development process the testing process will come in topicture and start finding defects in the system.

During the acceptance criteria both development and testing team will work closely andproperly integrated in to production environment.

Development Testers

Understand the requirements Understand the development Plan

Bulid the software Develop the test planInstall the software Understand the requirementsMaintain the software Understand the design

Understand the low level designExecute and record results

Report the test results

Do Acceptance testingInstall the application in the productionEnhancement

Page 12: 1-Software Testing Principles and Concepts

8/8/2019 1-Software Testing Principles and Concepts

http://slidepdf.com/reader/full/1-software-testing-principles-and-concepts 12/20

1.20 Structural and Functional Technique

1.21 Verification and Validation.

1.22 Static versus Dynamic Testing

Structural and Functional Technique

Both Structural and Functional Technique is used to ensure adequate testing 

Structural analysis basically test the uncover error occur during the coding of the program.

Functional analysis basically test he uncover occur during implementing requirementsand design specifications.

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 isdiscussed.

The main objective of the Structural testing to ensure that the functionality is working fineand 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 thecoding of the program.

Structural testing is some times called as white box testing because knowledge of code isvery much essential. We need the understand the code written by other users.

Various Structural Testing are

Stress TestingExecution TestingOperations TestingRecovery TestingCompliance TestingSecurity Testing

Stress Testing

Basically test the application to ensure how system is behave when large volumeof data interact with the system.

• The objective of the stress testing is basically stress the application and checkthe 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.

Page 13: 1-Software Testing Principles and Concepts

8/8/2019 1-Software Testing Principles and Concepts

http://slidepdf.com/reader/full/1-software-testing-principles-and-concepts 13/20

• We can also check whether the sufficient disk space is allocated to theapplication.

• We can also check whether any communication link failure come across at thetime of the processing the transactions.

• People you are involving of entering instructions need to the end user you isgoing 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 thetest and the amount of resources used for it. However it will helps to take up thedecision to whether we make the application live based on the results which willhelp to reduce the risk.

• It will be done before UAT towards end of the developmental phase.

Execution Testing

Helps to determine whether the system achieve the desired level of proficiency in the production status.

Helps to verify the turnaround times and response times as well asdesign performance.

The objective is used to check the performance of the system.

With the help of execution testing. We can

•Determine the performance of the system.

• Optimum usage of software and hardware

• Determine the Response time.

• Determine the wait around time.

` Execution Test Examples

• Check the hardware and software utilization.

• Check the behavior of each component in the application anddetermine the program code is effectively used.

• Calculate the response time and turn around time of theapplication.

Execution Test can be used in early stage of the development process andcheck the performance of the code is effectively used.

Any phase of Development life cycle.

Page 14: 1-Software Testing Principles and Concepts

8/8/2019 1-Software Testing Principles and Concepts

http://slidepdf.com/reader/full/1-software-testing-principles-and-concepts 14/20

Recovery Testing

Ability to restart the operations after the integrity of the application is lost.

Objective of the recovery testing is to ensure that the operations cancontinue

Even though the disaster is happening.

Recovery testing includes

• Storage of data in the preserved location.

• Documents need to maintain properly about recovery.

• Assign the professional testers involving in Recovery process.

• Develop a recovery tool and make it available all the times.

Recovery testing is normally takes care by professional testers, Systemanalysts you know entire flow of the applications.

It is advice that the operational staff need not involved in recovery testingand only professionals need to be involved.

Recovery can be conducted in two modes.

• Either with the recovery tools and the set of the methods andprocedures to resolve it.

• Once the system is developed and the failure is introduced in tothe system and the ability to recover it.

The user should estimate the potential loss inability to recover over the timespans. 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.

Operations Testing Technique

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 theapplication.

Provide the complete training to the Users.

o Operating testing involved two stages.

Page 15: 1-Software Testing Principles and Concepts

8/8/2019 1-Software Testing Principles and Concepts

http://slidepdf.com/reader/full/1-software-testing-principles-and-concepts 15/20

Process

Execution of the process.

Process: With the help of requirements documents, design documentswe can able to understand the overall architecture of the product.

Execution of the process is basically determines how it has beenimplemented so that the end user understand the system and fit for useand met the user needs.

o Operational testing is basically done before the production start and it is each

end user responsibility to understand the system properly before the productionsstart.

Compliance Testing Technique

Verifies whether applications are developed based on the IT `Standards, `procedure and guidelines.

It is very importance Compliance testing need to be done in all the phases of the `developmental process.

Objectives

Determine whether the system development and maintenancemethodologies is followed.

Ensure Guidelines and standards Compliance testing can achieve in which documents of the standards needto be compared with the applications and ensure that at any point of timeand the application is smart enough as it follows all the guidelines properly.

Once the program is developed the group of developers can sit together and review the codes and ensure that the programming code is developedbased on the IT Standard and guidelines.

Security Testing Techniques 

Security testing is basically secure the confidential information’s so that theinformation cannot able to access by third party.

Managements need to be very much clearly which the confidential information is.Because the improper disclosure will make the business loss.

The objectives of the security defects is very much difficult to identify

Objective

Identify the security information and also

Page 16: 1-Software Testing Principles and Concepts

8/8/2019 1-Software Testing Principles and Concepts

http://slidepdf.com/reader/full/1-software-testing-principles-and-concepts 16/20

 

Functional System Testing Technique

Basically check the system requirements and specifications are achieved

There are various Techniques as far as Functional Testing is concerned.

Requirements Testing

Basically verify the system is working as far the specifications over the continuous period of time.

The main objectives of the requirements testing is to

Implements user requirements.

Fit for use based on User Needs.

Maintain corrections of the programs over the period of time and ensure it is capable tomake 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 thesystem developments life cycle.

Regression Testing

Basically retest the application and ensure that the applications are working as per therequirements 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 hadrequested by the client and the developers had develop it, Regression testing is done on theapplications before it is put in to the applications to ensure that the new features apply on theapplications 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 newfeatures 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 theapplications.

Error Handling Testing Techniques.

The main objective of the Error handling testing techniques is to ensure that theapplications are capable to handling incorrect Transactions.

Page 17: 1-Software Testing Principles and Concepts

8/8/2019 1-Software Testing Principles and Concepts

http://slidepdf.com/reader/full/1-software-testing-principles-and-concepts 17/20

The application is smart enough to identify the incorrect transactions and approximatedecision need to take and intimate the end user.

Normal testing is basically test the application is working properly as per therequirements but error handling testing is exactly the opposite manner.

Error handling testing is basically done by Experience persons who had the fullknowledge 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 identifythe problem and informed to the Users.

Integration Testing

Integration testing is basically check the applications when two or more modulescombines together and ensure that it is working based on the requirements.

Initially once the application is developed it is develop individually and test the applicationwhether 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 needsonce all the modules are integrated with the single application.

Control Testing

Control are designed to reduce risks; risks need to be identified.

Create a scenario and ensure that the risk is created and check whether control can easilyreduced the risks.

Control oriented people can frequently do control testing. Like error handling it requirednegative look on the application to ensure that what can go wrong.

Parallel Testing Techniques

The main objective of parallel testing is to ensure that the new application is consistentwith the processing of previous application or version of the application.

Old system and new system are run and the results compared to detect unplanneddifferences

It is easy to useIt is easy to maintainIt 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 withthe old version.

Page 18: 1-Software Testing Principles and Concepts

8/8/2019 1-Software Testing Principles and Concepts

http://slidepdf.com/reader/full/1-software-testing-principles-and-concepts 18/20

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 testingprocedure. 

2.  It involves verifying the requirements,detailed design documents, test plans,walkthroughs and inspections of variousdocuments producedduring the development and testing process.

Validation involves actual testing of the product as per the testplan (unit test, integration test,system test and acceptance test etc).

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

and is a group activity.  It involves the testers and sometimesuser. 

6.  It is also called Human testing, since itinvolves finding the errors by personsparticipating in a review or walk through. 

It is also called Computer testing,since errors are found out by testingthe software on a computer. 

7.  Verification occurs on Requirements, Designand code.  Validation occurs only on code and

the executable application. 8.  Verification is made both in the Executable

and Non Executable forms of a work productValidation is done only on Executableforms of a work product. 

9.  Verification finds errors early in therequirement & design phase and hence

reduces the cost of errors. Validation finds errors only during thetesting stage and hence cost of errors

reduced is less than Verification. 10. An effective tool for verification tool is a

Checklist.  Various manual and automated testtools are available for Validation. 

11. It requires cooperation and scheduling of meetings and discussions.  It is to check that the product

satisfies the requirements and isaccepted by the user. 

12. Verification tasks include:1) Planning2) Execution 

Validation tasks include: 1) Planning2) Testware Development3) Test Execution4) Testware Maintenance 

13. Verification activities include:

1) Requirements Verification 2) Functional design verification3) Internal Design Verification 4) Code Verification 

Validation activities include:

1) Unit testing2) Usability testing 3) Function testing4) System testing5) Acceptance testing 

14. Verification deliverables (work products)are: 1) Verification test plan 

Validation deliverables are: 1) Test plan2) Test Design Specification 

Page 19: 1-Software Testing Principles and Concepts

8/8/2019 1-Software Testing Principles and Concepts

http://slidepdf.com/reader/full/1-software-testing-principles-and-concepts 19/20

2) Inspection report 3) Verification test report  3) Test Case Specification

4) Test Procedure Specification5) Test log6) Test incident report

 

Static versus Dynamic Testing

Static testing is performed using the software documentation.The Code is not executing during static testing.

Verification

Feasibility ReviewRequirements Review

Validation

System TestingUnit TestingIntegration TestingUser Acceptance Testing

White Box Testing

Statement CoverageDecision Coverage

Condition CoverageDecision / Condition CoverageMultiple Condition Coverage

Black Box Testing

Equivalence Partitioning

Subset of Data represent in the larger classTechnique for testing equivalence class rather than undertaking exhaustivetesting of each value of the larger class.

If the text box accept only between 10 to 100 check condition will be

< 10> 100Between 10 and 100

Boundary value analysis

Checking on BoundaryChecking Lower BoundaryChecking Upper Boundary

Page 20: 1-Software Testing Principles and Concepts

8/8/2019 1-Software Testing Principles and Concepts

http://slidepdf.com/reader/full/1-software-testing-principles-and-concepts 20/20

Error guessing

Test can be done based on the experience of the tester If there is the date fields we can test by input Feb. 30 and check the application.

Incremental Testing

Top Stub

Down DriversDesk 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 reviewthe 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 tothe individual programmer.