Automated Testing

cabbagepatchtapeInternet και Εφαρμογές Web

5 Φεβ 2013 (πριν από 4 χρόνια και 4 μήνες)

132 εμφανίσεις

Automated Testing

Nathan Weiss

April 23, 2007

Overview


History of Testing


Advantages to Automated Testing


Types of Automated Testing


Automated Testing Tools


Disadvantages to Automated Testing

History of Testing

History of Testing


Four main phases in testing
methodology:


Debugging (1950’s)


Exhaustive Testing/Prove it Works
(1960’s)


Prove it Does Not Work (1970’s)


Defect Prevention & Testing Process
(1980’s)

Debugging


No distinction between debugging and
testing.


Consisted of making code compile and
changing code so that it would not
crash.

Exhaustive Testing/

Prove it Works


Exhaustive testing in terms of code
paths and given input.


Found to be impossible


Write tests to prove the program
works.


Testing defined as “what is done to
demonstrate correctness of a
program.”

Prove it Does Not Work


Testing not for proving correctness,
but for finding defects.


Started testing to see if a program did
what it was
not

suppose to do, not just
test to prove that it does what it
was

suppose to do.

Defect Prevention &

Testing Process


“Testing” traditionally referred to what
was done to the system after working
code was produced.


Testing moved towards an activity done
during a phase, not a phase by itself.


Studies show that 50% of bugs are
created in requirements and design
stages.

Advantages to Automated Testing


Test scenarios impossible/unfeasible
using manual testing.


Lowers testing time and costs in an
iterative environment.


Remove the human error factor.


Introduces stability in regression tests.


Increase in testers’ morale.

Types of Automated Testing


Split into two categories


Black box tests


White box tests


PC applications


Embedded Systems

Black Box Automated Testing


GUI testing


Always been prime candidates for
manual testing.


Need to automate has created many
commercial tools.


Two ways to create the tests:


Scripts


Recordings


Black Box Tests
-

Scripts


Less of a testing tool/environment and
more of a testing library.


Flexible.


Easy to run batch scripts to run
multiple tests.


Black Box Tests
-

Recordings


Full testing tool/environment.


Tester performs a test once while tools
is recording his actions.


Tester can add ending conditions to
test the success of a test.


Very useful for testing GUIs of stand
alone applications.

White Box Automated Testing


Module testing.


More APIs then environments.


Embedded systems introduce more
complexity to white box testing.

White Box Tests


PC Apps


Tests usually written in the same
language as the system being tested.


Tools usually come in the form of an
API containing asserts and other
testing utility methods.


Tests can be performed on any level of
abstraction required by the project.

White Box Testing


Embedded Systems


Test code usually not stored/run on the
same hardware as the system code.


Do not have direct access to system
code or memory.


Requires an interface with an
embedded system debugger.

Automated Testing Tools


xUnit


SilkTest


Selenium


Custom

xUnit


Compilation of popular code driven
testing frameworks.


Frameworks based on the design by
Kent Beck.


Originally implemented for SmallTalk
as SUnit.

xUnit


Partial List of Frameworks


NUnit (.net)


JUnit (java)


CUnit ( C )


CPPUnit (C++)


SUnit (SmallTalk)

xUnit


xUnit test execution


Setup


Test body


Teardown

xUnit

SilkTest


Created by Borland.


Works with:


Web Browsers(IE and Firefox)


Java GUIs


.Net GUIs


Win32 GUIs


Price : 4
-
6k

Selenium


Testing tool for web applications.


Comes in API and tool form.


Supports:


Windows: IE, Firefox, Seamonkey, Opera


Mac OS X: Safari, Firefox, Camino,
Seamonkey


Linux: Firefox, Konqueror

Selenium


Can create tests using the Selenium
library in many languages (Java, .NET,
Perl, Python and Ruby)


Or you can create tests using their
Selenium IDE which is implemented as
a Firefox extension.


Once created in Firefox, the tests can be
run in any of the suported browsers.

Selenium

Custom


Write your own custom testing
environment or API.


Used when you have very specific
testing needs.


Often used for embedded systems.

Disadvantages to Automated Testing


Initial cost.



Who tests the testers?

References


Borland. (2007).
Borland SilkTest: An Automated Regression
and Functional Software Testing Tool.
Retrieved April 2, 2007,
from
http://www.borland.com/us/products/silk/silktest/index.html


[2] Dustin, E., Rashka, J., Paul, J. (1999).
Automated Software
Testing: Introduction, Management, and Performance.

Addison
-
Wesley.


[3] Lewis, E., W., (2005).
Software Testing and Continuous
Quality Improvement.
CRC Press LLC.


[4] NUnit. (2006).
Nunit.
Retrieved April 2, 2007, from
http://www.nunit.org


[5] OpenQA. (2006).
OpenQA: Selenium.
Retrieved April 2,
2007, from
http://www.openqa.org/selenium/index.html