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

Software Quality Assurance

- Sanat Misra

Agenda for the talk


Definitions SQA Testing Life Cycle Testing methods, types, levels, tools Artifacts Defect PS: Do not hesitate to interrupt me if you want to have a discussion on some point
2

Definitions & Keywords


Quality Assurance (SQA)
set of activities designed to ensure that the development and/or maintenance process is adequate to ensure a system will meet its objectives.

Quality Control
set of activities designed to evaluate a developed work product.

Testing
process of executing a system with the intent of finding defects.
3

Where is SQA?

Testing lifecycle and phases (1)


Test Requirements Test Planning Test Environment Setup Test Design Test Automation Test Execution and Defect Tracking Test Reports and Acceptance
5

Testing lifecycle and phases (2)

Testing lifecycle and phases (3)

Methods Of Testing
Black Box Testing White Box Testing Gray Box Testing Manual Testing Automated Testing

Black Box Testing


An external perspective of the test object to derive test cases. These tests can be functional or nonfunctional. The test designer selects valid and invalid input and determines the correct output. There is no knowledge of the test object's internal structure.
9

White Box Testing


Uses an internal perspective of the system to design test cases based on internal structure. It requires programming skills to identify all paths through the software. Applicable at the unit, integration and system levels of the software testing process

10

Gray Box Testing


involves having access to internal data structures and algorithms for purposes of designing the test cases, but testing at the user, or black-box level. is particularly important when conducting integration testing between two modules of code written by two different developers

11

Manual & Automated Testing


Manual Testing
process of manually testing software for defects. tester has to play the role of an end user.

Automated Testing
use of software to control the execution of tests. need for manual testing process to be in place. is more economic. can be expensive at times.
12

Levels of Testing
Unit Testing Integration Testing System Testing Acceptance Testing

13

Types of Testing
Regression Testing Positive & Negative Testing Functional Testing Non-functional Testing

14

System Testing
Testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements erformed on the entire system in the context of a Functional Requirement Specification(s) (FRS) and/or a System Requirement Specification (SRS)

15

Regression Testing
What?
re-runs previously passing tests on the modified software to ensure that the modifications haven't unintentionally caused a regression of previous functionality

When?
can be performed at any or all of the above test levels

Often automated

16

Positive and Negative Testing


Positive testing:
Doing something it was supposed to do

Negative testing:
Doing something it was not supposed to do

Simply testing the application beyond and below of the specified limits Examples

17

Non Functional Software Testing


Performance testing
checks to see if the software can handle large quantities of data or users. This is generally referred to as software scalability.

Usability testing
needed to check if the user interface is easy to use and understand.

Security testing
essential for software which processes confidential data and to prevent system intrusion by hackers.

Internationalization and localization


needed to test these aspects of software, for which a pseudo localization method can be used
18

Non Functional Software Testing


Graphical user interface testing Usability testing Load testing Volume testing Stress testing

19

Non Functional Software Testing


Security testing Scalability testing Sanity testing Smoke testing Accessibility testing, including compliance with:
Americans with Disabilities Act of 1990 Section 508 Amendment to the Rehabilitation Act of 1973 Web Accessibility Initiative (WAI) of the World Wide Web Consortium (W3C)
20

Artifacts of Software Testing


Test Plan Test Strategy Test Scripts Test Data Sheet

Test Results Summary

Test Incident Report

21

More about test automation


General Approaches:
Code-driven testing
key feature of Agile software development use of testing frameworks such as Junit, Nunit, etc. better code coverage

Graphical user interface testing


record and playback features requires little or no software development testing of web sites
22

Automation Frameworks
Data-driven testing Modularity-driven testing Keyword-driven testing Hybrid testing Model-based testing

23

Test Automation Tools


Tool name HP QuickTest Professional IBM Rational Functional Tester Rational robot Selenium Visual Studio Test Professional Produced by HP Software Division 11.0 Latest version

IBM Rational
IBM Rational Open source Microsoft

8.2.1
2003 2.20 2010

24

Other Tools
HP Quality Center IBM Rational ClearQuest IBM Rational ClearCase IBM Rational Functional Tester IBM Rational Performance Tester HP BPT Software HP LoadRunner
25

HP Quality Center

26

HP Quality Center

27

Defects
condition in a software product which does not meet a software requirement an error in coding or logic that causes a program to malfunction or to produce incorrect/unexpected results

Software Testing proves that defects exist but NOT that defects do not exist.
28

Defect Life Cycle

29

Defect - Classification
Severity
Critical, Major, Minor, Cosmetic

Visibility
Low, Medium, High

Priority
Urgent, High, Medium, Low

Related Module/Component

30

Defect - Classification
Phase Detected
Unit Testing, Integration Testing, System Testing, Acceptance Testing

Phase Injected
Requirements Development, High Level Design, Detailed Design, Coding, Build/Deployment

31

32

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