Sei sulla pagina 1di 30

Testing Fundamentals

August 2007

Agenda
Some Testing Terminologies: Error, Fault and Failure. Verification and Validation. Definition and purpose of testing. Why testing is necessary? Simple Testing process. Types of Testing (Functional, non Functional Testing). Test Cases Structure.

Error, Fault and Failure


Error: is a human action that produces an incorrect result. Fault: manifestation of an error in software. Its also known as defects or bugs. Failure: a deviation of the software from its existing delivery or service.

Validation & Verification


Validation: Are we deliver the right products? Verification: Are we deliver the products right?

Definition and purpose of testing


The process of exercising or evaluating a system or system components by manual or automated means to verify that its satisfies specific requirements or to identify difference between expected and actual results. IEEE Definition Testing is the process of executing a program with the intent of finding errors.
The art of software testing, Glenford J. Myers

Purpose of testing
Tester: validate and verify the program. Developer: Program applies the requirements. Project Manager: delivery is with high quality. Cooperation: improve customer satisfaction, quality and profit, reduce costs related to customer service calls and re-writes of software.

Why testing is necessary?


ARIANE 5 !!

.Why testing is necessary? Cont


Example: European Space Agencys Ariane 5 rocket exploded 37 seconds into its launch becauseGuess what?
Just think of it. Ten years of work was destroyed only 37 seconds after launch.

Software is NOT linear; small faults can have large effects.

Why testing is necessary? Cont.


Example: European Space Agencys Ariane 5 rocket exploded 37 seconds into its launch because of a software defect, this defect cost $7billion thats seven billion dollars because someone tried to convert a 64bit float to a 16-bit signed integer that caused a numerical overflow!
Just think of it. Ten years of work was destroyed only 37 seconds after launch.

Software is NOT linear; small faults can have large effects.

Simple Testing Process


Requirements Specification Analyze User Stories for Testing

Design

Test Cases, Test Scripts, Programs

Implement

Test Design Specification

Defects Report

Execute

Types of Testing
System Testing Static Testing

Dynamic Testing

Functional

Non-Functional

White Box- Black Box


Unit Testing Integration Testing Interface & Usability Testing System testing Regression Testing Pre UAT (Alpha, Beta) Globalization & Localization (Languages, etc..)

Load and Performance Testing. Volume & Stress testing Migration & Compatibility testing. Installation Testing. Security testing( Application, system, network)

Test Case Structure


Test Case ID. Subjective. Prerequisite. Scenario. Expected Results.


Example Subjective/ Title 1- User can create a new community successfully Prerequisite user has to log in to the system Scenario: 1- Navigate to Create New Community portlet. 2- Fill in all the mandatory fields. 3- Press Create Community Expected Results Community is created successfully

Questions??

Thank You

Bugzilla
Whats Bugzilla? Is it the best tool to be used at eSapce? Why Bugzilla? Who used it? Screenshot and some defect terminologies. Defect Life cycle General. Defect Life cycle using Bugzilla. Practice.

Whats Bugzilla?
Bugzilla is a general-purpose computer bug-tracking tool/ defect-tracking tool developed and used by the Mozilla Foundation.

Is it the best tool to be used at ?eSapce


Reduce downtime. Increase productivity. Raise customer satisfaction. Improve communication. Reduce costs:

?Why Bugzilla
Advanced Search Capabilities Email Notifications Controlled By User Preferences Scheduled Reports (Daily, Weekly, Hourly, etc) by Email Reports and Charts. Time Tracking. Private Attachments and Comments. "Watch" Other Users, delegates. Move Bugs Between Installs . Save and Share Searches.

?Its used by the greats, isnt it


Free Software Projects Mozilla: https://bugzilla.mozilla.org/ Linux Kernel: http://bugzilla.kernel.org/ Gnome: http://bugzilla.gnome.org/ KDE: http://bugs.kde.org/ Apache Project: http://issues.apache.org/bugzilla/ Open Office: http://www.openoffice.org/issues/query.cgi Eclipse: http://bugs.eclipse.org/bugs/ Linux Distributions Red Hat: https://bugzilla.redhat.com/bugzilla/ Mandriva: http://qa.mandriva.com/ Gentoo: http://bugs.gentoo.org/ TurboLinux: https://bts.turbolinux.co.jp/bugtraq/ Novell: https://bugzilla.novell.com/ Companies NASA: http://itos.gsfc.nasa.gov/~bugzilla/ & NOW: eSapce

Priority
It describes the importance and order in which a bug should be fixed.

Severity
Blocker/sev1: Blocks development and/or testing work Critical: crashes, loss of data, severe memory leak Major: major loss of function Normal: functionality is not working correctly. Minor: minor loss of function, or other problem where easy workaround is present Trivial: cosmetic problem like misspelled words or misaligned text Enhancement: Request for enhancement

Some used methodologies


STATUS The status field indicates the general health of a bug UNCONFIRMED NEW ASSIGNED REOPENED RESOLUTION The resolution field indicates what happened to this bug. No resolution yet

Some used methodologies/Cont.


RESOLVED VERIFIED CLOSED FIXED INVALID WONTFIX DUPLICATE WORKSFORME MOVED

Defect Life Cycle


Open Tester Duplicate Developer

Working Developer

Return Developer

Verify Tester Re- Open Tester

Cancel Tester

Closed Tester

Defect Life Cycle

?Can we practice
Bugzilla

Questions
??

Thank You

Potrebbero piacerti anche