practical recommendations for automated testing

16
PRACTICAL RECOMMENDATIONS FOR ORGANIZING AND PERFORMING AUTOMATED TESTING

Upload: intetics-co

Post on 20-Aug-2015

1.379 views

Category:

Technology


2 download

TRANSCRIPT

PRACTICAL RECOMMENDATIONS FOR ORGANIZING AND PERFORMING

AUTOMATED TESTING

What is automated testing?

Software Testing is an empirical investigation conducted to provide stakeholders with information about the quality of the product or service under test, with respect to the context in which it is intended to operate. 

Automated testing is its component part. It uses software to verify the implementation of tests, which in most cases helps to reduce test time and simplify the process. 

When to start automated testing to benefit the project?

Is it possible?

1. There is a system to be automated.

2. There is a test plan.

3. There are written test cases for manual testing.

4. There is a tool for automated testing.

Is it beneficial?

1.The real value of introducing automated testing has been calculated.

2.There is a need for automated testing (customer requirements or the project state).

The main advantages of automated testing

The possibility of continuous / cyclic performance of tests.

Strict sequence of steps performed.

The increase of productivity in comparison with manual testing.

Automation of long sequences.

Automation of operations requiring heavy computation.

The main disadvantages of automated testing

It takes a long time to create scripts (not always justified).

The need for ongoing support (update) tests.

Tests carry out the programmed sequence of actions, they do not have intelligence.

Comparison of automated testing tools

Criteria QuckTestProIBM Rational Functional

TesterTestComplete Selenium RC

Supported

Browsers 

Firefox

Internet Explorer Netscape Browser

Internet Explorer Mozilla Firefox

Internet Explorer Mozilla Firefox

Netscape Navigator ver. (limited)

*Firefox *IE*Opera *Netscape*Conqueror *Safari*SeaMonkey *OmniWeb*Camino

Supported

platforms  WindowsLinux

WindowsWindows

WindowsUnix

MacOS

Supported applications 

Web services, Windows applications, web (Internet

Explorer, Firefox, Netscape), .NET, Java™/J2EE, SAP,

Siebel, Oracle®, PeopleSoft, VB, ActiveX, mainframe terminal emulators and

Macromedia Flex.

Web-based, .Net, Java, terminal emulator based

applications such as 3270 (zSeries™) and 5250

(iSeries™), PowerBuilder, AJAX, Adobe Flex, Dojo Toolkit, Siebel, and SAP® applications

.NET, Java, Visual C++, Visual Basic, Delphi, C++Builder and

web applications.Web-based applications

Clear advantages  Easy to explore, a lot of documentation 

Functionally rich Extremely scalable

Rich language support(VBScript, JScript, C ++)

Broad support for languages and platforms

Average cost 20000 $ 6000 $

Enterprise per named user: 1999$Standard per named user: 999$Enterprise per floating user: 4499$Standard per floating user: 2999$

Free 

Creation of infrastructure. Choice of data storage location.

The first step is to develop the infrastructure for further development of tests. One of the best methods is to store information on a network drive. Positive aspects of this method: 

Scripts are available from anywhere on the network.If needed, access to scripts is available to any user.No need to adjust paths for the project when you open it from any computer.

Example of infrastructure creation:Place Folder ‘X’ on the company’s 'FileServer’ \\fileserver\Projects\ProjectName\Automation\.Map Network Drive 'Z' referring to this folder.

Determining the structure of data storage

LIB - Library Function 

RA - Reusable Actions BL - Business Level GL - GUI Development 

RS - Script restoration 

DOC - Documentation 

DAT - Data (xml, xsl) 

SETTING - Files 

TEST - Tests 

RES - Results 

REP - Repository objects 

ENV - Variables 

Determining the requirements for test code registration

*****************************************************************************************************************‘Author : RevkoSA‘Date Creation : 10.03.09‘Version : 9.0‘Description : Brief description‘Input parameter : Name: Cod, Type: Int, Description.‘Out parameter : Name: Cod, Type: Int, Description.‘Addins : Web, ActiveX‘Modification : <n By <name>, Date: <dd-mm-yyyy> Description*****************************************************************************************************************Code………………………..

Description of the test significantly simplifies working with it.

Basic rules of OO Testing

To create tests, the application under test should be divided into 3 main layers: 

Test Layer

Business Layer  

GUI Layer  2 additional layers are introduced: 

Data  Layer

Functional  Layer

Data Layer

GUI Layer

Test Layer

Functional Layer

Business Layer 

GUI Layer

Each GUI "module" describes a set of graphical objects of a window / page.

Each module handles all the methods for the current set of objects, namely: data acquisition, data validation, data entry.

Data Layer

GUI Layer

Test Layer

Functional Layer

Business Layer 

Business Layer

Business Layer describes individual business processes.

Modules of Business Layer can apply to multiple GUI modules. 

Business Layer acts as a controller for GUI actions.

A business module can never call another business module.

Data Layer

GUI Layer

Test Layer

Functional Layer

Business Layer 

Test Layer

Test Layer is finite and contains a sequence of scripts from the Business Layer. 

Each module of Test Layer is a full test.

Each module has a unique name. The module name must meet generally accepted standards for naming the classes / variables (for example 'AddNewCustomer').

Data Layer

GUI Layer

Test Layer

Functional Layer

Business Layer 

Functional Layer

This is a set of internal and external procedures called in modules of Test and Business Layers.

Data Layer

GUI Layer

Test Layer

Functional Layer

Business Layer 

Data Layer

This is general or specific information (variables, parameters, constants, etc.) used to perform tests. 

A good practice is to store test data in external files. 

Data Layer

GUI Layer

Test Layer

Functional Layer

Business Layer 

Example

The color of modules corresponds to the appropriate layer.

Start

Is page opened?

Enter Name

Enter Password

External data storage Click Enter

Access

Record a result

End

Yes

No

Yes

No

Result = R1 Result = R2

Result = R3