Practical Recommendations For Automated Testing
-
Upload
intetics-co -
Category
Technology
-
view
1.379 -
download
2
Transcript of Practical Recommendations For 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