Monday, November 12, 2007

Exploratory Testing

What is Exploratory Testing?

Ans:- Simultaneous Test Design and Test Execution

ET is very different from script based testing where we prepare test procedures, automate them etc.. ET is not as planned as Script based.

The core competency of the tester lies in simultaneous test design and Test Execution. Its good to note his ideas about the test.

Scripted testing has its place like in the case of a very complex project where it is required to repeat some critical functionality we need scripts for that to perform regression testing.

The issues we face here are how to track the test coverage. Let us have a basic view of how this happens and documents required in this testing.

Test methodology

  1. First do basic system study and divide into functionalities/Pages.
  2. Try to analyze high risk areas and prioritize this functionalities
  3. Analyze approximate time for functionality
  4. Analyze resources (testers) and time available (time to test the software)
  5. Plan Bug Tracking and issue logging and tracking

Or

Alternatively we can ask tester to analyze the time required for them and get details from them.

Note:

Once ET is done, it is recommended to go for Scenario based testing. Plan for the scenario based testing separately using some resources to analyze and prepare the Use Cases.

Test Management

This table maintains data about the sessions. Functionalities covered in it, time taken, by whom, issues logged, and session status.

S

Session ID

References: (Any Docs)

Risks and Tasks:

Task breakdown (the TBS metrics)

Example

{

#Duration: 5 Short

#Test Design and Execution: 34

#Bug Investigation and Reporting: 65

#Session Setup: 10

}

Test Notes:

Example

{ I Clicked on all the items of the menu and all other in the page.

Checked all the alignments issues.

Checked the data displayed dynamically (User name and password)

Risks:

- Incorrect display of username and password

- Incorrect display due to Database issue }

Or

BugS

#Bug 456

Alignment of the certain text is not proper. Attached screen shots.

#Bug 1331

Alignment of the picture at different zooming levels.

Monday, November 5, 2007

Basics of Functional Testing

Functional Testing

The process of functional testing involves first identifying Test Conditions, Deriving Test Cases, Forming Test Suites and then executing Test Suites/ Test Procedures.

Once this is completed we will track the defects using Defect Tracking tool. Once the defects are fixed we will do Retesting (Executing the defects which failed and fixed) and Regression testing (Test cases which are likely to get impacted and high risk functionality test cases to check if there are any side effects).

The Different Functional System Testing Techniques are –

1. Requirements Testing (Business Process / Use Case Based)

2. GUI Validation and Testing (Field Validation, Spelling, Consistency…)

3. Regression Testing ( High Priority Test Cases/Impacted Test Cases)

4. Error – Handling Testing (Is it handling Exceptions and issues and providing meaningful messages)

5. Usability Testing (Navigation, Learnability, Easiness )

6. Compatibility Testing (Different browsers)

7. Manual – support Testing (Optional)

8. Intersystem Testing (Optional)

9. Control Testing (Optional)

10. Parallel Testing (Optional)……………..


Depending on the type of the project risks we add and delete all this tests. There are no rules that we should do all this tests.

A client needs a website with a very min budget and we can’t afford this much manpower being a company. So, this tests are tailored for the purpose and need.

A small project let us say a website which provides details about a organization and is a small client. We need to perform Requirements testing, GUI testing, and Error handling.

A mid size project where the users are more and involves money transaction or amount donations. Here we need to use the Use cases which show the business processes.

We need to perform Requirements testing, GUI testing, and Error handling and bit of performance testing check how time it is taking to load a page etc…

A good project will have all the rules, documentation, and many type of tests. For this kind of projects need to start the testing process very early. Better to start once the Requirements are streamlined (Subjected to project type like Phase release in which case requirements for that particular phase)

These projects require Reviews, Inspections, Many kinds of testing, Regression suite of critical functionality etc…