35
Prepared By: R K Singh Software Testing & Introduction to Test Automation

Automation Testing

Embed Size (px)

DESCRIPTION

Automation

Citation preview

Page 1: Automation Testing

Prepared By: R K Singh

Software Testing & Introduction to Test Automation

Page 2: Automation Testing

Agenda

Page 3: Automation Testing

Brief IntroductionWho am I?

7+ Years of IT Experience ISTQB Advanced and CSTE Certified

My Roles so far-

Software Developer, Development Tester, Test Lead, Trainer-Teaching TDD and Automation TestingAdvisor-Assesses projects and Tools for Test Automation

Page 4: Automation Testing

INTRODUCTION OF TESTINGWhat is Testing: Software testing is the process of evaluation of a software item to detect differences between actual and expected output on given input.

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.

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.

Page 5: Automation Testing

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

Page 6: Automation Testing

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.

Page 7: Automation 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.

Page 8: Automation Testing

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

Page 9: Automation Testing

Pros - Cons

• Advantages– Easy to cover up all cases in a limited time period.– You can perform different types of testing’s 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.

Page 10: Automation Testing

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

Page 11: Automation Testing

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

Page 12: Automation 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

Page 13: Automation Testing

SAMPLE OF TEST CASE AND BUG LIFE CYCLE

Sample of Test case: Test Case

ID

Test Case Descriptio

n

Input Data

Expected Result

Test Result

Remarks

Bug Life Cycle: There are six phases of Bug Life cycle. a. New b. Assigned c. Resolved d. Verified e. Closed f. Reopen

Page 14: Automation Testing

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

Page 15: Automation Testing

Bug details…continued

• 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.

Page 16: Automation Testing
Page 17: Automation Testing

Windows Application Automation using WHITE Framework

Page 18: Automation Testing

Need for Automation in any Windows Application

• 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.

Type of testing tasks that are routine while doing Verifications.

Page 19: Automation Testing

Some light on WHITE Framework

Framework for automating rich client applications based 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/

WHIT

E

FRAMEW

ORK

Page 20: Automation Testing

Cont..

Page 21: Automation Testing

Time for a Demo!!!

Let’s have a Demo!!

Page 22: Automation Testing
Page 23: Automation Testing
Page 24: Automation Testing

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.

Page 25: Automation Testing

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

Page 26: Automation Testing

Selenium’s 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

Page 27: Automation Testing

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.

Few Common Challenges during Automation

Page 28: Automation Testing

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.

Page 29: Automation Testing

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.

Page 30: Automation Testing

Browsers Versions Selenium IDE Selenium Remote Control

Selenium Core Selenium 2/Web driver API

FF4.x-FF10-x

Only Record & Playback

IE 7/8/9

Safari 2/3/4/5

Page 31: Automation Testing

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

Page 32: Automation Testing

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

Page 33: Automation Testing

Let’s have a Demo!!

Demo Time!!

Page 34: Automation Testing

Queries/Suggestions- Lets discuss

Page 35: Automation Testing