1.24k likes | 2.44k Views
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.
E N D
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
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 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 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 • 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: Bug Life Cycle: There are six phases of Bug Life cycle. a. New b. Assigned c. Resolved d. Verified e. Closed f. Reopen
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 • 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.
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 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!!! Let’s 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
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
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.Coredll 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.
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!! Let’s have a Demo!!