Вы находитесь на странице: 1из 31

`Testing`

STLC - Definition
The course of software being tested in a well-planned way is known as Software test life cycle.
Requirement analysis Requirement Review Test Planning Test Case Design

Product Delivery

Retest Defects

Defect Reporting

Test Execution

STLC Stages Involved


Requirement

Analysis:

Process: Analyzing software for design and implementation methods and testable aspects are recorded Documents involved:

Requirement Specification documents( SRS) Functional Specification documents (FSD) Design Specification documents (use cases, etc) Use case Documents Test Trace-ability Matrix for identifying Test Coverage

STLC Stages Involved


Requirements

Review:

Process Initial review of requirements to check completeness and correctness Documents involved:

SRS Review remarks Test Deliverables Test Metrics etc.

STLC Stages Involved


Test

Planning:

Process: To plan, how the testing process should flow


Test Process Flow

Test Scope, Test Environment Different Test phase and Test Methodologies Manual and Automation Testing Defect Mgmt, Configuration Mgmt, Risk Mgmt. Etc Evaluation & identification Test, Defect tracking tools Documents Involved:

Master Test Plan, Test Scenario, SCM

STLC Stages Involved


Test

design

Process:
Test Traceability Matrix and Test coverage Test Scenarios Identification & Test Case preparation Test data and Test scripts preparation Test case reviews and Approval Base lining under Configuration Management Test Plan, RTM Test cases

Documents Involved:

STLC Stages Involved


Test

Execution:

Process:
Executing Test cases Testing Test Scripts Capture, review and analyze Test Results Raising the defects and tracking for its closure Test Cases Test Execution report Bug report Requirement traceability matrix

Documents Involved:

STLC Stages Involved


Defect

Reporting

Process:
Defect logging Assigning defect and fixing Retesting Defect closing Test Summary report Bug Report

Documents involved:

STLC Stages Involved


Product

Delivery

Process:

After the product had undergone several tests, the acceptance test is done by the user/client i.e. UAT, wherein the use cases were executed and the product is accepted to go on live Test Metrics and process Improvements made Build release Receiving acceptance Test summary reports UAT Test Plan, UAT Test cases

Documents involved

Risk Analysis
A

risk is a potential for loss or damage to an Organization from materialized threats. Risk Analysis attempts to identify all the risks and then quantify the severity of the risks Identification

Risk

Software Risks Business Risks Testing Risks Premature Release Risk Risk Methods
10

Risk Analysis
Software

continued

Risks

Knowledge of the most common risks associated with Software development, and the platform you are working on

Business

Risks

Most common risks associated with the business using the Software

Testing

Risks

Knowledge of the most common risks associated with Software Testing for the platform you are working on, tools being used, and test methods being applied
11

Risk Analysis
Premature

continued

Release Risk

Ability to determine the risk associated with releasing unsatisfactory or untested Software Products

Risk

Methods

Strategies and approaches for identifying risks or problems associated with implementing and operating information technology, products and process; assessing their likelihood, and initiating strategies to test those risks
12

Bug/Defect Management

BUG LIFE CYCLE - What is a bug?


A software bug is an error, flaw, mistake, failure, or fault in a computer program that prevents it from behaving as intended.

14

BUG LIFE CYCLE


What is a Bug Life Cycle?
In software testing, the term life cycle refers to the various stages that a defect/bug assumes over its life.
15

BUG LIFE CYCLE


Stages involved in Bug Life Cycle
The different stages involved in a bug life cycle are as follows:

Finding Bugs Reporting/ Documentation Fixing Retesting Closing


16

BUG LIFE CYCLE


Stages explained
1. Finding Bugs:
Software Tester finds bug while testing.

It is then logged and assigned to a programmer to be fixed.

2. Reporting/ Documentation:
In software, bugs need to be tracked and managed to
Communicate bug for reproducibility, resolution, and

regression.
Track bug status (open, resolved, closed). Ensure bug is not forgotten, lost or ignored
17

Stages explained Continued


3.

BUG LIFE CYCLE

Fixing:

Once the bug is assigned to the developer, he fixes the bug. Once the programmer fixes the code , he assigns it back to the tester and the bugs enters the resolved state.

4.

Retesting:

The tester then performs a regression test to confirm that the bug is indeed fixed.

5.

Closing:

If the bug is fixed, then the tester closes the bug. Here the bug then enters its final state, the closed state.
18

Different status of a Bug

19

Description of Various Status of a bug New: When the bug is posted for the first time, its state will be

NEW. This means that the bug is not yet approved.

Open : After a tester has posted a bug, the lead of the tester
approves that the bug is genuine and he changes the state as OPEN.

Assign: Once the lead changes the state as OPEN, he assigns the
bug to corresponding developer or developer team. The state of the bug now is changed to ASSIGN.

Test: Once the developer fixes the bug, he assigns the bug to the
testing team for retesting. Before he releases the software with bug fixed, he changes the state of bug to TEST. It specifies that the bug has been fixed and is released to testing team.
20

Description of Various Status of a bug

Deferred: The bug, changed to deferred state means the


bug is expected to be fixed in next releases.

Rejected: If the developer feels that the bug is not


genuine, he rejects the bug. Then the state of the bug is changed to REJECTED.

Duplicate: If the bug is repeated twice or the two bugs


mention the same concept of the bug, then one bug status is changed to DUPLICATE.
21

Description of Various Status of a bug

Verified: Once the bug is fixed and the status is changed


to TEST, the tester tests the bug. If the bug is not present in the software, he approves that the bug is fixed and changes the status to VERIFIED.

Reopened: If the bug still exists even after the bug is


fixed by the developer, the tester changes the status to REOPENED. The bug traverses the life cycle once again.

Closed: Once the bug is fixed, it is tested by the tester. If


22 the tester feels that the bug no longer exists in the software,

Severity of a Bug

It indicates the impact each defect has on the testing efforts or users and administrators of the application under test.

This information is used by developers and management as the basis for assigning priority of work on defects.
23

Priority Levels of a Bug

Critical :

An item that prevents further testing of the product or function under test can be classified as Critical Bug. No workaround is possible for such bugs.

Examples of this include a missing menu option or security permission required to access a function under test.

Major / High :

A defect that does not function as expected/designed or cause other functionality to fail to meet requirements can be classified as Major Bug. The workaround can be provided for such bugs.
24

Priority Levels of a Bug

Average / Medium :

The defects which do not conform to standards and conventions can be classified as Medium Bugs. Easy workarounds exists to achieve functionality objectives.

Examples include matching visual and text links which lead to different end points.

Minor / Low :

Cosmetic defects which does not affect the functionality of the system can be classified as Minor Bugs.
25

Various Bug tracking tools


The various bug tracking tools available are:

Quality Center from HP Bugzilla - from Mozilla Dev Track from TechExcel

26

Types of testing

Non functional testing


Installation testing: It is a type of testing in which one will install the application into the environment by following the guideline provide in the deployment document in order to conform whether those guidelines are perfect for installing the application into the environment or not. Compatability testing: It is a type of testing in which one will install the application into multiple environments prepared with different combinations in order to confirm whether the application is suitable with those environments or not. Usability testing: It is the type of testing in which one will check the user friendliness of the application. Security testing: It is a type of testing in which one will check whether the application is properly protected or not.

Alpha testing: It is a type of user acceptance testing conducted in our software company by test engineer just before delivering the applications. Beta testing: It is also a type of user acceptance testing conducted in the clients place either by the end users or by the third party testing experts just before the actual implementation.

Functional testing

Load testing:Also known as scalability testing.During this test,test engineers execute application biuld under customer expected congiguration and load to estimate performance

Performance testing
.

Stress testing:During this test, the test enginners will estimate the peak load to find out the maximum no of users for execution of out application user customer expected configuration to estimate peak load.

Types of testing:
1. Build acceptance testing(BAT): It is a type of testing in which one will perform the testing on the related build in order to check whether a build is proper or not. 2. Regression testing: It is a type of testing in which one will perform testing on the already tested functionality again and again. 3. Retesting: It is a type of testing in which one will perform testing on the same functionality again and again with multiple sets of data in order to come to a conclusion whether it is really working fine or not. 4. Monkey testing: It is a type of testing in which one will perform abnormal actions on the applications intentionally in order to check the stability of the application. 5. Port testing: It is a type of testing in which one will install the application into the original customers environment and check whether it is compatible with that environment or not. 6. End-to-end testing: It is a type of testing in which one will check the end to end scenarios of the application are working or not.

7. Reliability Testing: It is a type of testing in which one will use the application continuously for the long period of time in order the check the stability of the application

8.Mutation testing: It is a type of testing in which one will perform some changes to the application or its related factors and test them. 9. Adhoc testing: It is a type of testing in which once the test engineer will perform testing in their own style after understanding the requirements clearly. 10. Direct URL testing: In this type of testing one will enter the URL s of secured pages and check whether those pages are being accessed or not. If at all if the pages are accessed then it is concluded that application is not properly protected. 11. User privileges testing: In this

type of testing one will enter into the application as one level of the user and will try to access beyond their limits in order to check whether the application is allowing beyond the user privileges or not. If it is allowing it is not properly protect otherwise properly protected.

Вам также может понравиться