System Testing

cabbagepatchtapeInternet and Web Development

Feb 5, 2013 (4 years and 9 months ago)

166 views

1

CSE 403

System Testing


Reading:

various web sites about Selenium!

These lecture slides are copyright (C) Marty Stepp, 2007. They may not be rehosted, sold, or
modified without expressed permission from the author. All rights reserved.

2

Big questions


What is Selenium, and how does it fit into the overall
model of testing we've seen so far?



What things can I check in a Selenium test case?



What's the difference between all these different
versions of Selenium? Which one should I use?



When in the development process should (can?) you
start using tools like Selenium?



What are the ways Selenium test cases can be run?
What are the pros and cons of each?

3

Recall: Kinds of testing


unit testing
: looks for errors in objects or subsystems



integration testing
: find errors with connecting
subsystems together


system structure testing: integration testing all parts of system
together



system testing
: test entire system behavior as a
whole, with respect to scenarios and requirements


functional testing: test whether system meets requirements


performance testing: nonfunctional requirements, design goals


acceptance / installation testing: done by client

4

Types of integration testing


big bang
: no stubs; do unit testing, then throw all
parts together


bottom
-
up
: integrate upward into double, triple,
quadruple test


top
-
down
: test top layer (UI) first, then add layers to
replace underlying stubs


What are some pros and cons of each?


big bang:

+ faster

-

can be costly, error
-
prone


bottom
-
up:

+ fewer stubs needed

-

tests UI last; UI is important!


top
-
down:

+ focuses on user experience

-

needs many stubs

5

Types of system testing


functional

[/requirements] testing:

black
-
box run through each use case (hit ones most likely to fail)



performance
testing:

verify non
-
functional performance requirements


benchmarks, profiling


stress testing: tests response to many simultaneous requests


volume testing: tests response to lots of input data


security testing



acceptance
testing:


usability / pilot testing: observe user behavior to learn about design


competitor testing: test against another product/system


shadow testing: test against older legacy systems



security
testing


audits; automated vulnerability checks

6

Selenium


record and play back automated "test cases" of walking
through your app's UI



can
assert

various aspects of the web page to make
sure the page looks right



tests normally saved as HTML


can be exported as


Java


Ruby


Python


...

7

Variations of Selenium


Selenium IDE
-

record/playback tool as Firefox plugin


produces Selenium Core test cases



Selenium Core
-

an HTML/JavaScript framework that
runs in any browser


for testing browser compatibility



Selenium Remote Control (RC)
-

automation framework


for repeatedly running your tests on a schedule

8

Selenium assertions



assertLocation



assertTitle



assertTextPresent



assertElementPresent



assertAttribute