Software testing introduction to test automation
Download
1 / 35

Software Testing & Introduction to Test Automation - PowerPoint PPT Presentation


  • 208 Views
  • Uploaded on

Software Testing & Introduction to Test Automation . Prepared By: R K Singh. Agenda. Basic Software Testing Concepts Types of Testing Introduction to Automation Pros and Cons Some light on WHITE Framework- Windows Automation Demo Some light on Selenium- Web Automation Demo Q&A.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Software Testing & Introduction to Test Automation' - teague


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Software testing introduction to test automation

Agenda

  • Basic Software Testing Concepts

  • Types of Testing

  • Introduction to Automation

  • Pros and Cons

  • Some light on WHITE Framework- Windows Automation

  • Demo

  • Some light on Selenium- Web Automation

  • Demo

  • Q&A


Brief introduction
Brief Introduction

Who 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 Testing

Advisor-Assesses projects and Tools for Test Automation


Introduction of testing
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
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 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
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: 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 cons1
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.


Sdlc and stlc
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
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
…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 AND BUG LIFE CYCLE

Sample of Test case:

Bug Life Cycle: There are six phases of Bug Life cycle.

a. New

b. Assigned

c. Resolved

d. Verified

e. Closed

f. Reopen


Software testing introduction to test automation

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 details continued
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.



Software testing introduction to test automation

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
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/

WHITE

FRAMEWORK



Time for a demo
Time for a Demo!!!

Let’s have a Demo!!


Some light on selenium
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
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


Selenium s advantages over other tools
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


Software testing introduction to test automation

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
Steps to start with Selenium!

  • Selenium Remote Control (RC)

    • Download and add ThoughtWorks.Selenium.Coredll to C# solution

    • Download Run Selenium server in your system

    • Create a test script in C# and run it.


Selenium test automation process
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.


And some limitations
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


Software testing introduction to test automation

Demo Time!!

Let’s have a Demo!!