Various Software Testing Methods.

Standard
This document based on Hung Q. Nguyen’s TESTING APPLICATIONS ON THE WEB TEST PLANNING FOR INTERNET-BASED SYSTEMS’ (ISBN 0-471-39470-X book published by Wiley available in Woodland Library, Singapore – [Before touch this book I knew some of the technical terms related to testing, those are ‘Unit Test’, ‘Functional Test’, ‘UI Test’, ‘Performance Test’, ‘Load/Volume Test’, ‘Integration Test’ and ‘User Acceptance Test’. Actually, in real time software world we have done it all testing without using this specific terms. It may detailed in test plane with specific test type, resource, schedule and test project management . This book also recommend one page testing plane.]), some web articles and what I did and I learnt in my experience. 
 
  • Block Box testing

    Test carried out by tester. Not required to know the internal code of the system. As per the test case carry out the functional or non-functional test using valid and invalid input to get the output.

  • White Box testing

    Test carried out either by developer or by valid tester with technical knowledge. This test consist of Data flow test, Control flow test, branch flow test and path flow test

  • Grey Box testing (recommended for web)

    Test carried out either by developer or by valid tester with technical knowledge. This inclusive of Block and White box testing.

Unit Test: Unit test will be carried out by the developer upon completion of the functionality. It will be carried out on going development or completion of the application in alpha phase. Recent version of Visual Studio has feature to create the unit test project with automatic script functionality.

Type of test recommended in every phase of software development

Alpha Phase

Beta Phase

Final Phase

Task Oriented Functional Test

TOFT

TOFT

Functional Acceptance Simple Test

FAST

FAST

Release Acceptance Test

RAT

RAT

Configuration Test

Full Configuration Test

Compatibility Test

Compatibility Test

Boundary Test

Stress Test

Stress Test

Installation Test

Install / Uninstall Test

Install / Uninstall Test

Exploratory Test

Exploratory Test

Exploratory Test

Real World User Test

Real World User Test

Volume Test

Performance Test

User Interface

Regression

Documentation Test

Level Test

FAST: Simple test carried out against each functionality of the application. It is not a through, end to end test for the functionality. Usually, developer will do this when doing the development. Even though, Tester will conduct the test again.

TOFT: Every functionality has more than one tasks or commands with itself. In this type each and every task tested sequential manner ( step by step) by the developer or tester. For example edit the record, it has step 1 select the record by navigation or find using text box and button combination (when use text box, button combination test need to carried out step1a input text value in the text box and step1b press the button to renter the system such manner) , step 2 change the value and step 3 revert back or commit the change.

Release Acceptance Test: This test also called build acceptance test or smoke test. Each and every time this test carried out by the developer before send the build to the testing.

Compatibility Test: System or part of the system or third party component of the system need to test with various possible hardware and software environment for compatibility such as different server, network topology, os, web browser …..I have an experience with one of employers to test the  many interanet windows client and web cient application with new version OS and new version web browser for compatibility. What a fun and enthusiasm to meet, chat, post to get the information then tested with virtual server environment.

Boundary Test: Test carried out to find the out put using lower bound input and upper bound input.

Stress Test: Force the software system to operate in lower resource condition. Artificially create the condition such as lower the computer system memory, hard disk space and network bandwidth. For example execute the given system parallel with another system one which consume maximum resources.

System Level Test: Test carried out throughly on each elements of the system, it is useful to compare the system with system requirement.

Load/Volume Test: Test carried out on the system with large amount of data, excessive processing, excessive calculation and how the system handle such conditions. For example, pushing the data from database without specific filter condition, and monitor how the system stored in the system or write in the output file (sequential writing) or view by the system (paging)…

Forced-Error Test: Negative test case prepared to carried out the test against error handling mechanism. Check the error handling mechanism, check the graceful recover condition of error, check the correct message of the error. And check the unstable state of the system. This test help us to find the SQL injection. [Astra Test]

Regression Test: Bugs notified or raised as Quality Control issue by the tester in the previous build fixed and tested throughly in the upcoming build(s). This test has many status in the cycle such as open, active, fixed, either resolved or reactivated, closed.

Documentation Test: Checking documentation for accuracy.

Install / Uninstall Test: Testing installation package during installation and uninstallation of the software program. Desktop Icon, startup menu, installed in appropriate directory path, registration key, read me document either placed or removed when doing installation or uninstallation respectively.

User Interface Test: Test covers usability, look and feel, navigation controls, image, table, accessibility and instructional information such as message, tool tip, help …

Performance Test: Testing team carried out this test to measure the performance of the system together with development team. Marketing team raise the question about the performance of the system against the competitor standards of performance in the specific functionality. Testing suit can be prepared and measured and monitored the functionality.

—————-X—————–

 

Resource estimation:

(Take the total number of hours required by the phase / Total number of weeks the phase) / 30 (hours per week). This calculation apply for all phases, development, test and project management.

For example:

  1. 120 hours required to test alpha phase

  2. 4 weeks alpha phase

  3. 30 hours per week is the effective working hours.

(120 / 4)/30 = 1 resource enough to test the system.

 

Automated Testing Tools:

Testing may carried out smoothly and easily using automated Tool. for various testing type including performance, load/volume, stress, Code auditing, Exception Hunter …

Some of the companies are selling this testing suit.

http://www.parasoft.com/jsp/home.jsp

http://www.red-gate.com/

http://www.ssw.com.au/ssw

http://www.pushtotest.com/

http://www.quotium.com/

http://www.webperformanceinc.com/

http://funkload.nuxeo.org/

http://www.aptest.com

hp has specific tool QC tracking, Mercury load runner

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s