Custom Search

Monday, April 27, 2009

Test Management Process

Test Management Process:

·         Specify System and business requirement

·         Create test plan.

·         Develop & Executes test Cases.

·          Track defects.

Specifying requirement:

Analyze your application/System and gather business requirement, then start determining testing requirement:

·         Define testing scope:

§  Integration.

§  UAT (User Acceptance Test).

§  Performance.

§  Security.

·         Create requirement (Test Requirement):

§  Build you RTVM (Requirement Tractability and Verification Matrix)

§  Make space to fill later on with test cases developed under each scope.

·         Detail requirements:

§  Create a list of detailed testing requirements for each requirement in RTVM.

§  Assign priority level for each requirement detail.

·         Analyze requirements.

 

Create test plan:

·         Write your master test plan.

§  Introduction.

§  Objective.

§  Scope. (In Scope & Out Scope)

§  Entry criteria.

§  Exist criteria.

§  Assumptions.

§  Functions and features to be tested.

·         Write detailed test plan if there is more than Application/System/Module  to be tested.

 

Develop & Executes test Cases:

·         Write test cases for the previously specified test requirement.

·         Use one of testing tools like HP Quality Center (QC).
QC acting like a central repository that store all test related information like:
Note: I will make separate post about HP Quality Center

§  Releases.

§  Cycles.

§  Business requirements

§  Test cases

§  Test scenarios.

§  Defects.

·         Execute test cases.

 

Track defects:

·         Raise a defect against the failed test cases.

·         Re-Test the defect after applying the fix.

·         Keep track with number of defect in the system and number of failed test cases.

·         Analyze and find which requirement tested successfully and which one failed.

Monday, April 13, 2009

What is 'Software / System / Application Testing'?

Many statistics states that development line go in totally different direction from system or business requirement. System/application test comes to make sure that the developed system/application is what was expected and doing the function that this application originally designed for.

Software testing also helps to discover as many defects before production or final release. Beside that software performance test is very important to make sure that system or application will not crashed or be down under very high stress load. For example Millions of users, very large amount of data or download speed.

Developers usually don’t have time to test all combination for success or fail scenarios. so testers and QA are very important to find the unexpected behaviours in system.   

 

 

Test Strategy

  • Black box testing: Tests are based on requirements and functionality only, there is no knowledge about the code or what inside.
  • White box testing: test done based on knowledge of the internal logic of an application.
  • Unit testing: used to test part, module or function in application.
  • Integration testing: used to test connection and communication between various application in the system. For example integration test for a new bank system will test that core banking system is integrated correctly with account management system and customer management system. It is very important because developers will concentrate on developing the main functionality for their system.
  • system testing: black-box  testing for the overall requirements specifications.
  • regression testing: after deploying fixes in the system a regression test needed to make sure that the fix not affects other function in the system or not violate any of the requirement.
  • User acceptance testing (UAT): final user test to decide if the application or the system meet the original business requirement.
  • performance testing: tests the overall performance of the system and the behaviour under hug load and high stress. For example, test the application or the system when million of user login.   
  • security testing: tests all security issues.

 

 

Monday, April 6, 2009

Test-to-Pass and Test-to-Fail

 

There are two fundamental approaches to testing software:

1.        Test-to-Pass

2.       Test-to-Fail

 

When designing and running test cases; always run Test-to-Pass first. It is important to see if the application fundamentally works, before throwing the kitchen sink at it.

After assuring that the application does what it is specified to do in ordinary circumstances, Test-to-Fail (Or Error-Enforcing) test cases can be applied to probe for common weaknesses in the application.

 

 

 

System Integration Test Execution Approach


System Integration testing will be performed in three cycles where each cycle will present a subset of the end to end developed system integration test cases that will be executed and any defects raised during that phase will be subject to the defect management procedure process











The cycles are as follows:


1. Cycle 0



This cycle is defined as a smoke test cycle (Environment and Connectivity Test, Data and Configuration Verification) where a sample of test cases will be executed to check if the solution is ready and working properly for the full force SIT testing.



2. Cycle 1: Test to Pass



During this cycle the ‘Test-to-Pass’ test cases will be executed to assure that the expected behavior baseline is working properly (Online and backend functions, Apply Test-to-Pass). The details of those test cases will be covered in the developed test cases.



3. Cycle 2: Test to Fail



During this cycle the Test-to-Pass and Test-to-Fail will be executed to test the behavior of the application in cases of failures/problems such as non responding core banking application, response time out. The details of those test cases will be covered in the developed test cases.



4. Optional Regression Cycle:


During this cycle optional regression testing is performed (core and critical functions) and if time allows optional regression testing for all functions for the integrated solutions.