Software Testing

 Software Testing Learning Objectives Part -1
(Click on this image, you can get enlarged clear image)
I) SDLC Models

As Software Tester you must have exposure on Software Development Life Cycle / Software Development Process. Actually it is developers /Programmers concern, but Testing also part of SDLC, so you need to concentrate on SDLC process.

In the IT industry there are several SDLC models available, but we can segregate them in two categories.

a) Sequential Development Models

b) Incremental / Iterative Models

You must familiar with at least two Sequential Development Models and two Incremental / Iterative Models in order to get better opportunities.

Sequential Development Models:

In this Approach Software Project development is divided into phases like Requirements gathering, Analysis & Planning, Design, Coding, Testing and Release & Maintenance, every stage output is input for next stage.

Easy way of development, takes less time, but success not guaranty, recommendable for small scale, low budget and short term projects.

Ex: Waterfall Model, V model etc…

Incremental / Iterative Models:

In this approach, the first increment is often a core product. The core product is used by the customer or undergoes a detailed review. As a result of use and/or evaluation a plan is developed for the next increment. The plan addresses the modification to the core product to better meet the needs of the customer and delivery of additional features and functionality.

Software is constructed in a step-by-step manner. While a software product is being developed, each step adds to what has already been completed.

Advantages of Incremental Model
o    System is developed and delivered in increments after establishing an overall architecture.
o    Requirements and specifications for each increment may be developed.
o    Users may experiment with delivered increments while others are being developed.
o    Intended to combine some of the advantages of prototyping but with a more manageable process and better system structure.
o    Incremental development is especially useful when staffing us unavailable for a complete implementation by the business deadline.
o    Early increments can be implemented with fewer people.

Examples: Spiral Model, Agile Models etc…

This is Tester’s first and direct concept, we have 4 levels of testing  for every software project, some may have 5 levels of testing.

Generally 4 levels of testing is common for every software, but 5 levels of testing for distributed (Business Integration) software.

Test Levels for Independent Applications (No business dependency with other Applications)

a) Unit / Component / Program / Module Testing

b) Integration Testing

c) System Testing

d) Acceptance Testing

 Test Levels for Integrated Applications (Business dependency with other Applications)
a) Unit / Component / Program / Module Testing

b) Component Integration Testing

c) System Testing

d) System Integration Testing

e) Acceptance Testing

Unit / Component Testing:

The testing of individual software units or components.

In this level usually developers conduct Testing using White box test techniques like Statement testing, condition testing, Decision testing etc... techniques.

Integration Testing

Testing performed to expose defects in the interfaces and in the interactions between integrated components or systems.

System Testing

The process of testing an integrated system to verify that it meets specified requirements.

In this level usually Independent Testers conduct Testing (Functional and Non-Functional) using Black box test design techniques like Equivalent classes, Boundary Value Analysis, Decision Tables, State Transition Testing etc... Techniques.

Acceptance Testing

Formal testing with respect to user needs, requirements, and business processes conducted to determine whether or not a system satisfies the acceptance criteria and to enable the user, customers or other authorized entity to determine whether or not to accept the system.

3 type of Acceptance Testing

a) User Acceptance Testing

End users / Customer representatives perform this type of testing based on Business Requirements

b) Operational Acceptance Testing

Network administrators/ Technical support people conduct this type of testing

c) Certification Acceptance Testing

 Certified Testers conduct this type of testing

In Part -2, you can read;

Test Types


Post a Comment