Software Testing Practices, Test Methodologies and Test Competency Services


Welcome to the world of Software Testing & Best Test Practices.

All you wanted to know about Software Testing, Test Practices, Test Methodologies and building the Test Competency Services !!


Monday, May 19, 2008

Refined V Model

Due to cost and time point of view, V-model is not applicable to small scale and medium scale companies. These types of organizations are maintaining a refinement form of V-model.

Development starts with information gathering. After the requirements gathering, BRS/CRS/URS will be prepared. This is done by the Business Analyst.

Requirements analysis: After all the requirements are analyzed, S/wRS is prepared. It consists of the functional (customer requirements) + System Requirements (h/w + S/w) requirements. It is prepared by the system analyst.

During the design phase, two types of designs are done. HLD & LLD.

High Level Design discusses an overall view of how something should work and the top level components that will comprise the proposed solution. It should have very little detail on implementation, i.e. no explicit class definitions, and in some cases not even details such as database type (relational or object) and programming language and platform. In the High-Level Design, the Technical Architect of the project will study the proposed applications functional and non-functional (qualitative) requirements and design overall solution architecture of the application which can handle those needs.

A low level design has nuts and bolts type detail in it which must come after high level design has been signed off by the users, as the high level design is much easier to change than the low level design.

During the coding phase, programs are developed by programmers.

Unit Testing: After the completion of design and their reviews, programmers are concentrating on coding. During this stage they conduct program level testing, with the help of the WBT techniques. This WBT is also known as glass box testing or clear box testing or structural testing.

WBT is based on the code. The senior programmers will conduct testing on programs. WBT is applied at the module level.

There are two types of WBT techniques, such as

1. Execution Testing

  1. Basis path coverage (correctness of every statement execution)
  2. Loops coverage (correctness of loops termination)
  3. Program technique coverage (Less no of Memory Cycles and CPU cycles during execution)

2. Operations Testing: Whether the software is running under the customer expected environment platforms (such as OS, compilers, browsers and etc…sys s/w.)

Integration Testing: After the completion of unit testing, development people concentrate on integration testing, when they complete dependent modules of unit testing. During this test, programmers are verifying integration of modules with respect to HLDD (which contains hierarchy of modules).

There are two types of approaches to conduct Integration Testing:

(i) Top-down Approach
(ii) Bottom-up approach


During the system and functional testing, the actual testers are involved and conduct tests based on S/wRS.

During the UAT, customer site people are also involved and they perform tests based on the BRS.

Reviews during Analysis:

After completion of information gathering and analysis, a review meeting is conducted to decide the following 5 factors.

(i) Are they complete?
(ii) Are they correct?
(iii) Are they achievable?
(iv) Are they reasonable? ( with respect to cost & time)
(v) Are they testable?

Reviews during Design:

After the completion of analysis of customer requirements and their reviews, technical support people (Tech Leads) concentrate on the logical design of the system. In this every stage, they will develop HLDD and LLDD.

After the completion of above like design documents, they (tech leads) concentrate on review of the documents for correctness and completeness. In this review, they can apply the below factors.

(i) Is the design good? (understandable or easy to refer)
(ii) Is the design complete? (all the customer requirements are satisfied or not)
(iii) Is the design correct? (the design flow is correct or not)
(iv) Is the design followable? (the design logic is correct or not)
(v) Does the design handle error handling? ( the design should be able to specify the positive and negative flow also)

1 comment:

Unknown said...

Hello.
The Article on V Model and its explanation is amazing, gives detailed information about it. Thanks for Sharing the information about the v Motel along with a different type of testing For More information check the detail on the Waterfall testing here Software Testing Company