Tuesday, February 17, 2009

What is 'Software Testing'?

Testing involves operation of a system or application under controlled conditions and evaluating the results (eg, 'if the user is in interface A of the application while using hardware B, and does C, then D should happen'). The controlled conditions should include both normal and abnormal conditions. Testing should intentionally attempt to make things go wrong to determine if things happen when they shouldn't or things don't happen when they should. It is oriented to 'detection'.

What is 'Software Quality Assurance'?

Software QA involves the entire software development Process - monitoring and improving the process, making sure that any agreed-upon standards and procedures are followed, and ensuring that problems are found and dealt with. It is oriented to 'prevention'.

Saturday, February 14, 2009

Difference between Manual Testing and Automation Testing

1. Manual Testing is time consuming.

Automation Testing is Quick.

2. Manual Testing is not expensive.

Automation Testing is expensive as automation tools needs to be purchased

and licence has to be renewed on regular basis.

3. In Manual Testing we make test cases.

In automation we make scripts.

4. In Manual Testing we have to perform steps repeatedly.

In Automation code or script can be reused.

Test Cases

A test case is a set of conditions or variables under which a tester will determine whether an application or software system meets specifications. It may take many test cases to determine that a software program or system is functioning correctly. Test cases are often referred to as test scripts, particularly when written. Written test cases are usually collected into test suites.

Phases of Software Testing / Manual Testing Process

The Process consists of various sequential steps. It is also called Software Testing Life Cycle(STLC). STLC includes :- • Test Plan • Test Development • Test Execution • Analyse Results • Defect Tracking • Summarise Report

Test Plan :

It is a document which describes the testing environment, purpose, scope, objectives, test strategy, schedules, mile stones, testing tool, roles and responsibilities, risks, training, staffing and who is going to test the application, what type of tests should be performed and how it will track the defects.

Test Development :

• Preparing test cases • Preparing test data • Preparing test procedure • Preparing test scenario • Writing test script

Test Execution :

In this phase we execute the documents those are prepared in test development phase.

Analyse result :

Once executed documents will get results either pass or fail. we need to analyse the results during this phase.

Defect Tracking :

When ever we get defect on the application we need to prepare the bug report file and forwards to Test Team Lead and Dev Team. The Dev Team will fix the bug. Again we have to test the application. This cycle repeats till we get the software with our defects.

Summarise Reports :

• Test Reports • Bug Reports • Test Documentation

Bug Life Cycle

Models of SDLC

There are different Models, namely : 1) Waterfall Model 2) Propotype Model 3) V-Model 4) Agile Model 5) Spiral Model

Software DEvelopment Life Cycle (SDLC)

1) Requirement Analysis 2) Design 3) Coding 4) Testing 5) Implementation 6) Maintenance