Automated Testing Using Selenium Presented by: Jin - - PDF document

automated testing using selenium
SMART_READER_LITE
LIVE PREVIEW

Automated Testing Using Selenium Presented by: Jin - - PDF document

T3 Test Automation 10/6/16 9:45 Automated Testing Using Selenium Presented by: Jin Reck Mutual of Omaha Insurance


slide-1
SLIDE 1

¡

¡ ¡ ¡ T3 ¡

Test ¡Automation ¡ 10/6/16 ¡9:45 ¡ ¡ ¡ ¡ ¡ ¡

Automated ¡Testing ¡Using ¡Selenium ¡

Presented ¡by: ¡ ¡ ¡

¡ Jin ¡Reck ¡ ¡

¡ Mutual ¡of ¡Omaha ¡Insurance ¡ ¡

Brought ¡to ¡you ¡by: ¡ ¡ ¡ ¡

¡

¡

¡ ¡

350 ¡Corporate ¡Way, ¡Suite ¡400, ¡Orange ¡Park, ¡FL ¡32073 ¡ ¡ 888-­‑-­‑-­‑268-­‑-­‑-­‑8770 ¡·√·√ ¡904-­‑-­‑-­‑278-­‑-­‑-­‑0524 ¡-­‑ ¡info@techwell.com ¡-­‑ ¡http://www.starwest.techwell.com/ ¡ ¡ ¡

¡

¡ ¡

¡ ¡

slide-2
SLIDE 2

Jin ¡Reck ¡

¡ ¡ A ¡lead ¡testing ¡engineer ¡at ¡Mutual ¡of ¡Omaha, ¡Jin ¡Reck ¡has ¡diverse ¡global ¡experience ¡ with ¡multiple ¡Fortune ¡500 ¡companies ¡within ¡the ¡technology, ¡telecommunications, ¡ and ¡financial ¡domains. ¡Jin ¡spearheads ¡test ¡automation ¡for ¡Mutual ¡of ¡Omaha ¡by ¡ developing ¡advanced ¡frameworks ¡that ¡emphasize ¡reusability ¡and ¡reduce ¡ maintenance ¡efforts. ¡She ¡is ¡currently ¡responsible ¡for ¡strategic ¡delivery ¡of ¡client ¡ engagements ¡for ¡QA/test ¡process ¡improvement, ¡test ¡automation ¡architecture, ¡test ¡ development, ¡and ¡implementation. ¡Jin ¡specializes ¡in ¡delivering ¡testing ¡services ¡for ¡ mobile ¡and ¡web ¡solutions, ¡test ¡automation, ¡and ¡load ¡and ¡performance ¡testing. ¡She ¡ implements ¡automation ¡solutions ¡for ¡clients ¡using ¡both ¡commercial ¡and ¡open ¡ source ¡tools. ¡ ¡

slide-3
SLIDE 3

STARWEST

2016

slide-4
SLIDE 4

About the Presenter

  • Jin Reck
  • Test engineer and web developer
  • “You love tests?"

"Well, yeah. There are questions and

  • answers. True or false, multiple choice,
  • essay. What's not to love?”

― Nora Roberts, Tribute

slide-5
SLIDE 5

Automated Testing Using Selenium

slide-6
SLIDE 6

We are here to talk about

  • Testing
  • Automation – Selenium Grid, Jmeter
  • Selenium
  • Continuous Integration/Continuous

Delivery/DevOps - Jenkins, FisheyeCrucible and Sonarqube

slide-7
SLIDE 7

Testing Software

  • Software testing is a process used to identify

the correctness, completeness and quality

  • f developed computer software. It includes

a set of activities conducted with the intent

  • f finding errors in software so that it could

be corrected before the product is released to the end users

slide-8
SLIDE 8

Why is Testing Important?

  • Software testing is any activity aimed at

evaluating an attribute or capability of a program or system and determining that it meets its required results

  • Although crucial to software quality and

widely deployed by programmers and testers, software testing still remains an art, due to limited understanding of the principles of software

slide-9
SLIDE 9

Why is Testing Important?

  • Software bugs can be very expensive and

Dangerous

  • Software testing is important to deliver the

best possible application

  • Current Methods:
  • Manual
  • 3rd Party Vendor Application
slide-10
SLIDE 10

Testing - Impact

  • We need an optimal amount of testing

based on the risk assessment of the application

  • Testing either too much or too little could be

costly for the company

  • We need an optimal amount of testing

based on the risk assessment of the application--over-testing or under-testing are not recommended

slide-11
SLIDE 11

Automation

  • The difficulty with software testing stems from

the complexity of software:

  • We can not completely test a program

with moderate complexity. Testing is more than just debugging.

  • The purpose of testing can be quality

assurance, verification and validation, or reliability estimation. Testing can be used as a generic metric as well.

slide-12
SLIDE 12

Automation

  • User Interface testing
  • Simulate user actions
  • Functional testing
  • Create regression tests to verify

functionality and user acceptance

  • Browser compatibility testing
  • The same script can run on any

Selenium platform

  • Load testing
  • Stress testing
slide-13
SLIDE 13

Manual test VS Automated test

slide-14
SLIDE 14
slide-15
SLIDE 15
slide-16
SLIDE 16
slide-17
SLIDE 17
slide-18
SLIDE 18

Automation - Why

  • There are many different devices, browsers,

and operating systems that could behave differently when our websites/applications are run on them

  • Testing on multiple devices, browsers,
  • perating systems can help ensure our

website works for as many users as possible

slide-19
SLIDE 19

Automation - Why

  • Web apps usually deal with sensitive info,

e.g.

  • Credit card numbers
  • SSNs
  • Billing / Shipping addresses
  • Security one of the biggest concerns
  • Security testing should simulate possible

attacks

slide-20
SLIDE 20

Automation - Impact

  • There’s always a chance that a user will do

what you least expect – no matter how unlikely it seems

  • Testing can uncover bugs, the tricky part is

figuring out where fixing bugs falls among project management priorities

  • Software testing is a trade-off between

budget, time and quality

slide-21
SLIDE 21

Automation - Impact

  • Software testing is important to deliver the

best possible application

  • We owe it to our users and ourselves to

deliver the best applications possible

  • Ultimately, we need software testing to

ensure our websites or apps are something we can be proud of and have confidence in

slide-22
SLIDE 22

Automation - Impact

  • Performance is crucial to the success of a

web application

  • Performance testing evaluates system

performance under normal and heavy usage

  • Performance testing can be automated
slide-23
SLIDE 23

What is Selenium

  • What is selenium
  • Chemical symbol - Se
  • Atomic number - 34
  • Atomic mass – 78.96
  • Melting point – 428.9F
  • Element classification – Non-Metal
  • Crystal structure - Hexagonal
slide-24
SLIDE 24

Selenium

  • Jason Huggins and team from ThoughtWorks
  • Inc. developed the testing tool in 2004
  • Huggins joked about competitor HP Mercury

tools saying to cure mercury poisoning by taking selenium supplements

slide-25
SLIDE 25

Selenium

  • Selenium is an open source bowser based

test automation software

  • Selenium is a robust suite of tools which

supports rapid development of test automation for web-based applications

  • Works anywhere Java script is supported
  • Hooks for many other languages – Java,

Ruby, python

slide-26
SLIDE 26

Selenium

  • Selenium:
  • Extensible framework
  • Supports mobile testing Android/IOS
  • Can write test cases using language of

choice Java, C#, Python, Ruby & HTML

  • Supports native browser testing
slide-27
SLIDE 27
  • Selenium is a tool set that automates web

application testing across platforms

  • Selenium can simulate user interactions in a

browser

  • Functional testing
  • Create regression tests to verify

functionality and user acceptance

  • Browser compatibility testing
  • The same script can run on any

Selenium platform

slide-28
SLIDE 28
  • Firefox extension
  • Easy record and replay
  • Debug and set breakpoints
  • Save tests in HTML,

Web driver and other formats.

slide-29
SLIDE 29
  • Selenium saves all information in an HTML table format
  • Each record consists of:
  • Command – tells Selenium what to do (e.g. “open”, “type”,

“click”, “verifyText”)

  • Target – tells Selenium which HTML element a command refers

to (e.g. textbox, header, table)

  • Value – used for any command that might need a value of

some kind (e.g. type something into a textbox)

slide-30
SLIDE 30
  • Selenium-Web driver
  • Control the browser by programming
  • More flexible and powerful
  • Selenium-Web driver supports multiple browsers in multiple

platforms

  • Google Chrome 12.0.712.0+
  • Internet Explorer 6+
  • Firefox 3.0+
  • Opera 11.5+
  • Android – 2.3+ for phones and tablets
  • iOS 3+ for phones
  • iOS 3.2+ for tablets
slide-31
SLIDE 31

Pros of Selenium

  • Possible to move testing from QA to Dev team

as part of unit testing

  • Integration with most Continuous Integration

systems

  • Easy to integrate test with development

language

  • More control over the framework because of

language choices

  • Possible to implement scalable testing using the

cloud/grid

  • Faster execution
slide-32
SLIDE 32

Cons of Selenium

  • IE driver uses JavaScript simulated XPATH
  • Scripts working in Firefox and Chrome may not work in IE

without some additional code

  • No tools like Data Table for data driving test
  • No Object Repository to store object mappings
  • No object types in Selenium. Only Web Element and

Select

  • Table and other common HTML elements need extra

code to work

  • Different browsers may exhibit different issues on
  • perations
  • Higher development effort for initial few months
  • NOTE: Many of these Cons are more of minor technical

inconveniences than true “Cons”

slide-33
SLIDE 33

Selenium How

slide-34
SLIDE 34

Selenium How

slide-35
SLIDE 35

DevOps

The DevOps approach seeks to meld application development and deployment into a more streamlined process, shifting some

  • f the operation team’s responsibilities back to

the development team in order to facilitate: continuous development, continuous integration, continuous delivery and continuous monitoring processes

slide-36
SLIDE 36
  • Continuous Integration basically just means

that the developer's working copies are synchronized with a shared mainline several times a day

slide-37
SLIDE 37
  • Continuous Delivery is described as the

logical evolution of continuous integration: Always be able to put a product into production

slide-38
SLIDE 38
  • Continuous Deployment is described as the

logical next step after continuous delivery: Automatically deploy the product into production whenever it passes QA

slide-39
SLIDE 39
slide-40
SLIDE 40
slide-41
SLIDE 41
slide-42
SLIDE 42
slide-43
SLIDE 43
slide-44
SLIDE 44
slide-45
SLIDE 45
slide-46
SLIDE 46
slide-47
SLIDE 47

Review

  • Testing
  • Automation – Selenium Grid, Jmeter
  • Selenium
  • Continuous Integration/Continuous

Delivery/DevOps - Jenkins, FisheyeCrucible and Sonarqube

  • Review
slide-48
SLIDE 48

Questions?

slide-49
SLIDE 49

Thank you