introduction to testing

31
TESTING Not the least important activity’ Jithin Chakkalakkal

Upload: jithinctzz

Post on 13-Feb-2017

35 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Introduction to testing

TESTING ‘Not the least important activity’

Jithin Chakkalakkal

Page 2: Introduction to testing

ContentsQuestions ?System Testing Life Cycle.Testing TeamTest Plan PreparationTest Case PreparationTest Case ExecutionTesting Techniques

Page 3: Introduction to testing

Pen

Page 4: Introduction to testing

QuestionsDoes the software behave as specified?

Are we building the product right ?Are we building the right product ?Are we meet the business objectives?

Page 5: Introduction to testing

SYSTEMS TESTING LIFE CYCLETest Planning

Test Preparation

Unit Testing

Integration Testing

System Testing

Acceptance Testing

Start

Finish

The Overall Testing Lifecycle

Testing activity is involved right from the beginning of the project

Page 6: Introduction to testing

Testing TeamAn effective testing team contains mixture of members who has

---Testing Expertise ---Tools Expertise ---Database Expertise ---Domain/Technology expertise.

Page 7: Introduction to testing

Testing TeamThe testing must be properly structured with defined roles and responsibilities.

There should not be any uncertainty regarding which team member perform which duties.

The Test Manager will be facilitating any resource required for the testing team.

Page 8: Introduction to testing

Test Plan

Road map for the entire Testing Activity

Page 9: Introduction to testing

Test Plan - ContentsWhat will be covered in the test?” And

“what will not be covered in the test?” Tester/QA must be involve in technical discussion.

Clarity must be there in each and every work before starting.

Regression testing plan must be implemented.

If any assumptions are there, it needs to be documented to avoid any confusions.

Page 10: Introduction to testing

How to solve the Reopens?Clarity must be there in the each work.Proper discussion must be carryout before starting the test case preparation.

Maximum Cases must be included in the test case.

Related modules should be known Existing Features will not effect if we made any changes in the code.

Unit test cases must be carry out properly for the new features.

Page 11: Introduction to testing

How to solve the Reopens?Proper care must be given while doing the printer settings work.

We must ensure whether the DB is upgraded or not.

We must consider all branches while solving the problem in existing branch.

Desktop and web must be considered while doing the work.

Confirm the requirement properly from the customer.

Page 12: Introduction to testing

How to solve the Reopens?After merging the work to other branch, then it must be ensure that work is Ok or not.

Patch execution must be properly check before given to the testing.

Calculation must be checked properly.Developer must be test along with the coding using test cases.

Give some extra time to the developer for this testing.

Page 13: Introduction to testing

Test case Preparation

Set of procedures executed in a system to identify defect

Page 14: Introduction to testing

TEST CASECharacteristics of a Good Test Case

A test case is a set of tests performed in a sequence and related to a test objective.

A test case must be able to produce results that are predictable and verifiable

A test script is the data and or instructions with a formal syntax used by a test execution automation tool, typically held in a file.

A test condition is an item or event that a tester can verify. Test conditions are descriptions of the circumstances that could be examined. They may be documented in brief sentences, entries in tables or in diagrams such as flow graphs.

Page 15: Introduction to testing

Test case ExecutionTest execution procedures should be well documented and clearly covered to each member of the test team prior to any scheduled test run.

Page 16: Introduction to testing

TEST CASE EXECUTION ACTIVITIES

Setup test environmentExecute test casesDocument test resultsAnalyze test resultsEstablish the course of action Issue problem report and update test case log Planning the rerunsUpdate the test execution logUpdate the test planning/execution status formUpdate the testing status reports

Page 17: Introduction to testing

Testing Levels

Unit Testing

Integration Testing

System Testing

User Acceptance Testing (UAT)

Page 18: Introduction to testing

Unit TestingTest each module individually.Follows a white box testing (Logic of the program)

Page 19: Introduction to testing

Integration testingIntegrate two or more module.i.e. communicate between the modules.

Follow a white box testing (Testing the code)

Also follows a Black box testing (functionality testing)

Page 20: Introduction to testing

System Testingconfirms that the system as a whole delivers the functionality originally required.

Follows the black box testing.(functionality and Non-functionality testing)

Page 21: Introduction to testing

User Acceptance Testing (UAT)

Building the confidence of the client and users is the role of the acceptance test phase.

It depends on the business scenario.Alpha testing at developer’s place and Beta testing at client’s place.

Page 22: Introduction to testing

Equivalence PartitioningA subset of data that is representative of a larger class

For example, a program which edits credit limits within a given range ($10,000 - $15,000 would have 3 equivalence classes: Less than $10,000 (invalid)Between $10,000 and $15,000 (valid)Greater than $15,000 (invalid)

Page 23: Introduction to testing

Boundary Analysis

A technique that consists of developing test cases and data that focus on the input and output boundaries of a given function

Page 24: Introduction to testing

Boundary Analysis continued...

In the same credit limit example, boundary analysis would test: Low boundary plus or minus one ($9,999 and $10,001)

On the boundary ($10,000 and $15,000)Upper boundary plus or minus one ($14,999 and $15,001)

Page 25: Introduction to testing

Error GuessingBased on the theory that test cases can be developed based on experience of the Test Engineer

After all the formal Techniques are carried , then the error guessing technique/procedure is implemented.

Page 26: Introduction to testing

Incremental Testing Technique at Integrated levelA disciplined method of testing the

interfaces between unit-tested programs as well as between system components

Incremental Testing Typeso Top-downo Bottom-upo Hybrid o Big Bang

Page 27: Introduction to testing

Top-DownBegins testing from the top of the module hierarchy and works down to the bottom using interim stubs to simulate lower interfacing modules or programs

Page 28: Introduction to testing

Bottom-UpBegins testing from the bottom of the hierarchy and works up to the top

Bottom-up testing requires the development of driver modules which provide the test input, call the module or program being testing, and display test output

Page 29: Introduction to testing

Hybrid/Sandwich approach

Mixing up of Top-down and Bottom-up approaches.

Page 30: Introduction to testing

Big Bang ApproachOnce all the modules are ready, integrating them at a time and doing the testing on those integrated modules.

Page 31: Introduction to testing

A technique, often used during early integration testing

Demonstrates key functional capabilities by testing a string of units that accomplish a specific function in the application

Thread Testing Technique at Integrated Level