Basic Software Testing 101 - · PDF fileTitle: Microsoft Word - Basic Software Testing 101...

5
Copyright © 2010 iyeping.foo 1 Basic Software Testing 101 This section introduces basic concepts of Software Testing. Content: 1. Software Testing Categories 2. Software Testing Spectrum 3. Software Testing within SDLC 4. Software Testing Process and Activities 5. Software Testing Environment and Data 6. Software Quality Continuous Improvements 7. Software Testing Organization 8. Essential Success factors of a Software Test Organization 1. Software Testing Categories Software testing can be categorized into the following based on how testing are done: Dynamic Testing Software under test are actually being manipulated in order to verify correctness of functionality Static Testing Software under test is inspected visually in order to verify present of functionality, which may be inspection of code or documents. 2. Software Testing Spectrum From the lowest level, testing starts with White Box Testing, progressing to Gray Box Testing and the highest level will be Black Box Testing. These different types of testing differ in terms of: Code visibility Complexity Complexity White Box Testing Gray Box Testing Black Box Testing Code Visibility

Transcript of Basic Software Testing 101 - · PDF fileTitle: Microsoft Word - Basic Software Testing 101...

Copyright © 2010 iyeping.foo 1

Basic Software Testing 101

This section introduces basic concepts of Software Testing.

Content:

1. Software Testing Categories

2. Software Testing Spectrum

3. Software Testing within SDLC

4. Software Testing Process and Activities

5. Software Testing Environment and Data

6. Software Quality Continuous Improvements

7. Software Testing Organization

8. Essential Success factors of a Software Test Organization

1. Software Testing Categories

Software testing can be categorized into the following based on how testing are done:

• Dynamic Testing

Software under test are actually being manipulated in order to verify correctness of functionality

• Static Testing

Software under test is inspected visually in order to verify present of functionality, which may be

inspection of code or documents.

2. Software Testing Spectrum

From the lowest level, testing starts with White Box Testing, progressing to Gray Box Testing and the

highest level will be Black Box Testing. These different types of testing differ in terms of:

• Code visibility

• Complexity

Complexity

White Box

Testing

Gray Box

Testing

Black Box

Testing

Code Visibility

Copyright © 2010 iyeping.foo 2

Definition of each type of testing:

• White Box Testing

Testing which takes into account the internal mechanism of a system/component

• Black Box Testing

Testing which ignore the internal mechanism of a system/component, focuses solely on the

outputs generated in response to selected inputs and execution conditions

• Gray Box Testing

Combinations of white box and black box testing

For each type of testing, it can be further refine to different level of testing:

• White Box Testing

o Code analysis (using tools)

o Test driver

o Code inspections

• Black Box Testing

o Functional Test

o System Test

� Performance Test

� Load/Stress Test

� Usability Test

o Regression Test

o Smoke Test

o User Acceptance Test

3. Software Testing within SDLC

Software Testing is present in every part of the SDLC, regardless if you practice the “traditional”

waterfall model or the “fashionable” agile model, software testing remain the same.

Copyright © 2010 iyeping.foo 3

4. Software Testing Process and Activities

Software testing is a very methodical process; it starts with planning and ends with reporting of test

results. Each phase has further sub-activities & process.

5. Software Testing Environment and Data

Test environment is very delicate, as diagnoses depend on a traceable environment. Hence, test

environment needs to be independent and properly managed and maintain. Test environment should

be properly documented to allow for review and replication.

Most applications are data driven and change according to type of data being manipulated, test data

must be able to:

• Cover the breath and length of testing range

• Be as close to real data as possible (washed real data)

• Updated periodically if it is time sensitive

Successful testing depends on Environment & Data!

•What are to be tested?

Test Planning

•Test Design & Implementations

Test Preparation •Run Test & Collect

Results

•Report Error

Test Execution

•Test Analysis & Summary

•Recommendations

Test Reporting

Copyright © 2010 iyeping.foo 4

6. Software Quality Continuous Improvements

Software Testing is part of a Software Quality program where continuous improvement should be the

main objective. With continuous feedbacks, review and adjustment to strategies and methodologies,

software quality will improve in no time without additional effort.

7. Software Testing Organization

Software Testing Organization must remain an independent group, to:

• Avoid being influence (by developers, product management, project management etc.)

• Able to remain objective

As such Software Testing Organization needs to be empowered to make recommendations and stand by

their recommendations without having to fear consequences.

Software Testing can be organized as a separate team, or as resource pool within a matrix organization

• A separate test team may be due to:

o Large project teams with multi-level project or program management

o The need to remain focus on specific test project, i.e. automation

• As resources pool

o Project-base matrix organization

o Agile environment

Copyright © 2010 iyeping.foo 5

8. Essential Success factors of a Software Test Organization

A successful software test organization should invest in these 5 areas:

• Solid software testing understanding and skills of various type of testing

• Solid product knowledge

• Sensible and adherence to processes

• Proper QA infrastructure

• Test automation

Successful QA Org

QA Infrastructure

SW Testing Skills

Solid Product Knowledge

Processes

Automation