Thursday, May 20, 2010

Core Testing FAQs

Core Testing FAQS:

 About Yourself
 What’s the testing process in your organization?
 Testing types
 Testing life cycle
 What’s the SDLC model that you are so familiar?
 Defect Life Cycle
 Defect Report Process
 Defect reporting structure
 Role and Responsibilities
 Application modules
 Application Architecture
 QTP Testing Process
 QTP Frameworks (Keyword, Functional)
 Test Case Design Techniques
 Test Case Design format
 Test Case design for any application (example)
 Requirements
o BRS/CRS
o FRS/MRS
o SRS/SRS
o Wireframes/ Site flows
o Use cases/ test cases
o Application
 Use cases
 What do you need for Test case design
 Test Management Tool
o Test Director / QC
o Bugzilla
 Testing Terms
o Functional Testing / Regression Testing
o Integration / Smoke / Bug verification /
o Monkey / Adhoc / Exploratory testing
o UI / UAT/ Load / Performance / Stress Testing

Testing Process




Testing Process:

Testing process is a systematic approach where the complete test implementation takes place.
There are several stages / several layers that are supposed to explained as part of the testing process.
Just have a look at the above diagram which could give you the step by step flow of the testing process.
The entire explanation to this topic is discussed at the later editions of the page.

Requirements Flow




Requirements Flow:
Everyone is aware that the application is designed for end users based on the customer requirements.
But, only few people are aware that there are lot many faces that draw the customer requirements into different layers before converting / reflecting into an application.
Here is the explanation.

Just have a look at the diagram.
More information with regards to the requirements flow could be added to the table at the later editions.

Requirement:

The basic customer needs are called as Requirements.

The set of all customer needs put together is called requirements document or marketing requirements document.

BRS (Business Requirement Specification):

At Business level, all the customer requirements are documented and approved by customer.

All these bossiness requirements should exactly map to end user real-time scenarios

FRS (Function Requirements Specification):

The BRS are segregated into different Functions / Modules and are described in more detailed and such that more detailed information is provided with respect all the functions / modules of the application.

And these documents are called FRS.

SRS (Software Requirement Specification):

In depth of the requirements, such as the detailed information like windows / dialog boxes information, field level information and Just as clear-cut document for coding and prototypes are called as SRS

SRS (System Requirement Specification):

The entire SRS (Software Requirement Specification) are merged together so as to make complete System approach is called System Requirement Specification.

Use Cases: Use Case is a document that describes the User actions versus System / Application responses


Why does software have bugs?


Why does software have bugs?
There are many reasons to put forth,let me bring up few points here.

Generally, software may have bugs because of the following reasons.

• Poor Requirements (Unclear Requirements)
• Programming errors
• Software complexity
• Changes in Requirements
• Time pressure
• Poor Project Management
• Inefficient development (Poorly coded modules)
• Poor Documentation
• Other reasons

When does the Testing end?

• To be frank, testing could be never ended up, it’s a continuous process. Even after the application delivery, the testing could still continue.

• But, there are few parameters / criteria by means of which we say, we could stop testing.


 When all the customer requirements are covered in the application and tested as well.
 When all the testing (Functional , Integration, System, Regression, UAT, Compatibility, Install/Uninstall, Load, Performance, stress and so on) are done.
 When the QA Metrics show 100% quality of the application
 When all the test cases (functional, integration, system and so on) are executed.
 When Application is delivered to the end user and maintenance is done.
 When Application is bug free (Quality enough).

When does the Testing begin?

• Testing begins right from the requirements analysis.

• To check:
• If the requirements are clear
• If the requirements are understandable
• If the requirements are testable
• If the requirements are transformable into software/program

Why do we need Testing?

We need testing for so many reasons. And the most common reasons are listed below.

• To find defects.
• To ensure that application meets customer expectations / requirements.
• To reduce cost of quality by delivering defect free product on time, within the budget.
• To achieve customer satisfaction.
• To continuously improve testing process in the SDLC.
• To reduce risk of software failure.
• To determine the state of software.
• To deliver a quality and bug free application to customer.
• To retain the company name and fame.
• If there is no testing, then there is no quality products/projects/applications.

Few other reasons:

• Developer thinks in the point of code, structures, loops, statements, code integrations and so on.
• There should be someone else who could think in the point of functional behavior.
• There should be someone who could think in the view of customers / end users.
• And thus, tester comes into picture and testing is needed for sure.

Wednesday, May 19, 2010

Few Testing Terminologies

Software:
• Software is a set of programs
Program:
• A program is a set of instructions that perform an action
Requirement:
• Requirement is a customer need.
• A requirement is a singular need of what a particular product or software or service should be or to perform.
• Set of customer needs, called as customer requirements (or requirements document)

Different Terms associated with Requirements:
• There are couple of terms with related to the requirements.
• BRS (Business Requirements specifications)
• CRS (Customer Requirements specifications)
• MFR (Marketing Functional Requirements)
• FRS (Functional Requirements specifications)
• SRS (Software Requirements specifications)
• Use Cases (User actions Vs Application responses)
• Wireframes (Pre designed application design templates)
• Test Cases (To differentiate between expected and actual results)
• Note: All these terms, definitions and explanations are taken care at the later editions.

Application:
• A program or group of programs designed for end users (designed with customer requirements).
• An application is the use of a technology, system, or product or project that is designed for end users.
• The reflection of the customer requirements.
• The design pattern of the customer needs.

What is TESTING?

• Testing is the process of executing a program with the intension of finding “Errors”.

• Testing is the process of verifying an application to check if the application is behaving as per the “Requirements”.

• Testing is the process of executing test cases on the application to differentiate between the “Expected” and “Actual” results.

• Testing is the process of verifying customer needs with respect to the designed application.

• Testing is the process of finding errors, faults, defects, bugs, issues in the application.

• Testing is the process of requirements analysis, test cases designing, test cases executions, bug reporting, test status updates, customer interactions, application maintenance.

• Testing is the process of V & V (Verification and Validation )

An Introduction to Testing

Let me start with W / H forms of testing

• What is testing?
• Why do we need testing?
• When does the testing begin?
• When does the testing end?
• Who are needed for testing?
• What are needed for testing?
• How do we test?
• How can we measure the quality of the application?
• How to start and end up with testing?
• There are lots of questions with W / H forms.

Do you want answers to these questions?
Let me answer you all, one by one.