Sie sind auf Seite 1von 35

Software Testing &

Introduction to Test
Automation
Prepared By: R K Singh

Agenda

Brief Introduction
Who am I?
7+ Years of IT
Experience
ISTQB Advanced and CSTE
My Roles
so farCertified
Software Developer, Development Tester,
Test Lead, Trainer-Teaching TDD and
Automation Testing
Advisor-Assesses projects and Tools for Test
Automation

INTRODUCTION OF TESTING
What is Testing: Software testing is the process of
evaluation of a software item to detect differences
between actual and expected output on given input.
Software Testing is the process of assuring that
product which is manufactured by developer is
meeting the user requirement. The motive to
perform testing is to find the bugs and make sure
that they get fixed.
The purposes of testing are:
Quality assurance, Verification and Validation,
To find the bugs before the product is released to
customer.
To improve the quality of the product
To evaluate that the product is according to
requirements.

TYPE OF TESTING

Manual testing: This type includes the testing of the Software


manually i.e. without using any automated tool or any script.

A manual tester would typically perform the following


steps for manual testing:

Understand the functionality of program


Prepare a test environment.
Execute test case(s) manually
Verify the actual result
Record the result as Pass or Fail
Make a report of the Pass and Fail test cases
Publish the report

WHO AND WHEN TO START TESTING

Who does testing: Following professionals are involved in


testing of a system within their respective capacities:

Software Tester
Software Developer
Project Lead/Manager
End User

When to Start Testing?


Testing is done in different forms at every phase of SDLC like
during Requirement gathering phase,
the analysis and
verifications of requirements are also considered testing.

Pros - Cons

Advantage: Manual testing can be use in both small and big project.
We can easily reduce and add our test case according to project movement.
Easy to learn for new people who enters in manual testing.
Manual testing is more reliable then automated (in many cases automated test
not cover all cases) .

Disadvantage: GUI object size difference and color combination etc is not easy to find out in
manual testing.
Actual load and performance is not possible to cover in manual testing for large
number of users.

Automation testing

Automation testing: Automation testing which is also known as


Test Automation. In this testing, the tester writes scripts and uses
another software to test the software. There are many Tools are
use in automation Testing.

Software testing tools:


HP Quick Test Professional

Selenium
Test stack.White
Testing Anywhere
WinRunner
LaodRunner

Pros - Cons

Advantages
Easy to cover up all cases in a limited time period.
You can perform different types of testings like load testing,
performance testing using tool.
Automated testing can be performed on different operating systems.

Disadvantages
Purchase a tools and Maintenance.
Automation testing is more expensive work as comparing with manual
testing.
Language wise there are many tools to test various type of software,
means all tools will not support to all software which are developed in
different languages.

SDLC AND STLC

Software Development
Life Cycle: There are six
type of SDLC.

Requirement phase
Design phase
Coding (programming)
Testing
Release (Production)
Maintenance (Support)

Software Testing Life


Cycle: There are seven type
of STLC.

Requirement Study
Test Planning
Writing Test Cases
Review the Test Cases
Executing the Test Cases
Bug logging
Close or Reopen bugs

BASIC TYPE OF TESTING

Black Box Testing: The technique of testing without having any


knowledge of the interior workings of the application is Black Box testing.
The tester is oblivious to the system architecture and does not have
access to the source code. It is also called behavioral, functional and
close box testing.

White Box Testing: White box testing is require understanding of


internal logic and structure of the code. White box testing is also called
glassbox testing or open box, structural,clearbox testing.

Different types of software testing:


Unit testing
Smoke testing

continue

Functional testing
Integration testing
Regression testing
System testing
Load testing
Stress testing

Performance testing
User acceptance testing
Black box testing
White box testing
Alpha testing
Beta testing

SAMPLE OF TEST CASE AND BUG LIFE


CYCLE
Sample of Test case:

Test
Case
ID

Test
Inpu Expec
Case
t
ted
Descrip Data Result
tion

Bug Life Cycle: There are six phases


of Bug Life cycle.
a. New
b. Assigned
c. Resolved
d. Verified
e. Closed
f. Reopen

Test Remar
Res
ks
ult

Sample of Bug :
Bug Name: Application crash on clicking the SAVE button.
Bug ID: (It will be automatically created by the BUG Tracking tool once you save this
bug)
Area Path: USERS menu > New Users
Severity: High (High/medium/Low)
Priority: High (High/medium/Low)
Assigned to: Developer-X
Reported By: Your Name
Reported On: Date
Reason : Defect
Environment: Windows 2003/SQL Server 2005

Bug detailscontinued

Severity: Describes the bug in terms of functionality.


Priority: Describes the bug in terms of customer.
Ex.

High Priority and Low Severity: Company logo is not properly displayed on
their website.
High Priority and High Severity: Suppose you are doing online shopping and
filled payment information, but After submitting the form, you get a message
like "Order has been cancelled."
Low Priority and High Severity: If we have a typical scenario in which the
application get crashed, but that scenario exists rarely.
Low Priority and Low Severity: There is a mistake like "You have registered
success" instead of successfully, success is written.

Windows Application Automation


using WHITE Framework

Need for Automation in any Windows


Application

Type of testing tasks that are routine while doing Verifications.

Repetitive and Multiple actions as a part of Functional


testing
Parallel verifications in third party applications
Post every deployment in the environment, smoke tests to
have health check.

Some light on WHITE


Framework
Framework for automating rich client applications based
O
E
IT EW
H
W AM
FR

RK

on Win32/Win Forms/WPF/ Silverlight, Java platforms


.NET based and does not require the use of any
proprietary scripting languages
Open Source
Custom Commands, Custom Controls and performs
complex actions of any windows application
Integration with SELENIUM is hassle free
Browse for more http://teststack.github.io/White/

Cont..

Time for a Demo!!!

Lets have a Demo!!

Some light on Selenium


Web testing framework
Runs in a browser
HTML & Java script
Open Source
Browse for more- http://openqa.org

Selenium is a robust set of tools that supports rapid development of test automation
for web-based applications.
Selenium operations are highly flexible, allowing many options for locating UI
elements and comparing expected test results against actual application behavior.

Some light on Selenium


(Continued)

Selenium Features

Supports Cross Browser Testing. The Selenium tests can be run on multiple browsers.

Allows scripting in several languages like Java, C#, PHP and Python.

Assertion statements provide an efficient way of comparing expected and actual


results.

Inbuilt reporting mechanism.

Selenium Flavors

Selenium IDE

Selenium Remote Control

Selenium Webdrivers

Seleniums Advantages over other


tools
Multiple browser support (supports almost all
browsers)
Ease in Custom Control Identification
Test playback is very fast.
Very easy to get your initial tests running.
Highly in-built interface and Good workflow since it
is
visible side-by-side with your browser.
Test script is easily readable/understandable
Tests can be exported in many different
programming languages

Few Common Challenges during


Automation
Custom Controls identification was difficult
Browser compatibility Issues.
Tool tips were not recognized.
Maintaining the single UI Map was a bit difficult.
Few controls were recognized on the basis of
coordinates on the browser which is not supporting our
scripts on different screen sizes.

Steps to start with Selenium!

Selenium Remote Control (RC)

Download and add ThoughtWorks.Selenium.Core dll to C# solution

Download Run Selenium server in your system

Create a test script in C# and run it.

Selenium Test Automation


Process

Once the Selenese script is


converted into your preferred
language you can run them using
Selenium Server.

For running the script you also


need the client driver for that
particular language.

Browsers

Versions

Selenium IDE

FF4.xFF10-x

Only
Record &
Playback

IE 7/8/9
Safari
2/3/4/5

Selenium
Remote
Control

Selenium
Core

Selenium
2/Web driver
API

Browsers

Versions

Selenium IDE

Selenium
Remote
Control

Selenium
Core

Selenium
2/Webdriver
API

Chrome
v 5- v 19

**

Selenium Core is written in Java script so it should work (in theory) on most browsers with
decent Java script support. Some operations are only possible via Selenium Remote Control
because of browser security settings
** Selenium Remote Control server can start any executable, but depending on browser security
settings, there may be technical limitations that would limit certain features.

Opera
8/9/10

And Some Limitations


No support for https on Google chrome in Selenium.
Selenium is only for Web Test Automation
Sometimes issues with object identification
Resources
You can checkout for more details of Selenium at :
http://www.openqa/org/selenium

Demo Time!!
Lets have a Demo!!

Queries/Suggestions- Lets discuss

Das könnte Ihnen auch gefallen