Keyword-driven testing is a powerful tool to help organizations make more automated tests earlier in the testing method & making it less hard to keep the evidence in time. As with any complex undertaking, there's "success factors" that can decide whether or not a check hard work will be successful. This document summarizes the key success factors for key-driven tests including basic requirements, the vision for automation success factors for automation, & how to measure success.Keyword-driven testing is a program testing process that separates much of the work programming check automation, from design to actual tests. This allows the tests to be developed before testing & makes less hard to maintain. Some key concepts in the key-driven tests include:
* Level of keywords, which are usually based & report the operations of the general user interface to "click", "enter", "select"
* Business Templates are typically high level, such as "login", "entering the transaction Key Words
* Action words, or short "Actions", which can be both basic & high level & in its most general form defined above can be used to define words high-level action
* Base Requirements
* The Framework
* Vision for Automation
* Success Factors for Automation
* How to Measure Success
Keyword-driven test or the test table is driven by a program testing methodology
as part of test automation discipline that separates the job of programming the script real test for the test scripts can be developed without the knowledge of programming.As a result, test scripts can be maintained with only minor changes, even if the application or testing requires significant changes.
There are plenty of requirements that are thought about "basic requirements" for success with keyword-driven testing. These include:
* The check cases must be of clear and distinct - it is important that check cases are clearly different in scope and not deviate from that area.
* Essays must be written in the appropriate level of abstraction - Essays must be written in the appropriate level of abstraction as the highest level of business, low level of the user interface, or both. It is also important that the check tools provide this level of flexibility.
* Development of check
and automation should be entirely separate - is very important for the development of independent testing for check automation. The three disciplines need very different skills. Fundamentally, the testers are not and should not be programmers. Testers must be expert in defining check cases independent of the underlying technology to implement them. Individuals who are trained technically, the "people of automation (automation engineering), will implement the action words and then check them.
The application of this methodology is the framework of his office. This framework requires the development of information tables & keywords, independent of check automation device used to run them & the script code check "drives" under-trial application & information.In a keyword check the functionality of the application under check is documented in a table & in step by step instructions for each check.If they were to trace the actions they take with the mouse when they tested our functions of the Windows calculator handy, you might generate the following table. The "Window" column contains the name of the application window where they can implement a mouse action (in this case, all of whom happen to be in the window of the calculator). "Control" column names the type of control is to click the mouse. The "Action" column lists the steps taken with the mouse (or the tester). & the "argument" the column names of a specific control (1, 2, 3, 5, +, -, & so on).
The keyword-driven testing methodology divides the development of tests in four stages:
* Planning Stage
The identification of keywords that need operations as to provide additional functionality to accomplish greater clarity on the level of business and / or to maximize efficiency and ease of maintenance.The analysis of the application and choose what objects and operations are used by all business processes that need to be tested.
* Implementation Stage
Building a collection of references that identify objects, sometimes known as the repository of an "object" and ensure that all these references have a clear name to follow the default naming conventions. (This is mainly for the automation of the check.)Although this methodology requires more planning as well as a greater initial time investment that goes directly to the creation phase of testing and track your steps, this methodology makes the check creation and maintenance of the testing stages and maintains effective the structure of individual tests more readable and not as hard to change.Create and document the level of business keywords in function libraries. Generating libraries of functions involves the development of custom functions to the application that needs to be tested.While a keyword-driven methodology is useful for automated testing, manual testing some systems such as Mercury Interactive TestDirector for Quality Center allows a similar procedure for manual testing as well.
Vision for Automation:
* Having a nice methodology - is important to have nice integrated methodology for check automation & places of testers in the driver's chair. It is also important to use the best technology that supports the methodology, maximize flexibility, minimize the technical efforts, & maximizes the ease of maintenance.It is also important to have a clear vision for automation. This "vision" should include such things as:
* Having the right device - any device that is used should be designed specifically for testing based on keywords. It should be sufficiently flexible to permit the right mix of tests of high & low. It should permit testers to quickly generate keyword tests without difficulty. Nor should it be complicated for automation engineers for use in the application of automation.
* Success on the two success factors for Automation "- There's two critical success factors for the automation of that vision must report. They are:
1. check design
2. automation solution
Success Factors for Automation:
Test design is more important than automation technology. The design is the most underrated part of the check. It is my belief that the check design, automation or not a tool, is the most important factor for successful automation. To understand more about the trial design, see previous articles:
* Key Principles of Check Design
* The Holy Grail of Check First Design
* The Holy Grail of the Second Check Design
* The Third Holy Grail of Check Design
Full automation of the architecture
* Scope, assumptions, risks
* The methods, best practices
* Tools, technologies, architecture
* Interested parties, including the functions and processes of entry and approvals
* Managing check that manages the testing method.
* Development of tests that is responsible for the production of evidence. Development testing should include the check leads, check developers, finish users, experts and business analysts.
* Automation Engineering, which is responsible for building automation method for automatic execution. Members of this team include a chief engineer, and seven or more support engineers in automation.
* The support functions by providing methods, techniques, skills, training, tools and environments.
The "right" of the team also should be mounted. This team should include:
For the team must have a clear division of tasks and responsibilities and well defined processes for decision making and communication.
The automation should be done, but should not dominate the method. The automation must derive from the overall strategy, methodology, & architecture. It is also important to pay attention to the organization - the method, the team & project environment.It is important to understand that keywords are not magic, but can serve well. What is most important is taking seriously the hard work & doing it right. Doing things right means that the trial design is essential, both in the global check design & layout of individual check cases.
Data-driven Testing :
Automated testing play a recorded (or programmed) sequence of user actions that cover a particular area of application of the check.For more coverage, you can perform tests with different input information. Suppose, for example, proof of an input form of a request. After having recorded a script that only contains the values specified during the recording. Most likely, the information you entered does not cause errors in the application, but other information may cause them. Data-driven testing lets you check the form with a different set of input values to ensure that the application works as expected.
* Information Driven Automation Frameworks
* Data Driven Script
* Information Driven Scripts
Data-driven testing means that the scripts read information from an external storage site, for example, a file or database, in lieu of using hard-coded values in the script.This separation makes testing simple logic. A script containing multiple sets of hard coded values can be difficult to change. For example, if you need more input, you must alter the script code.
1. Recovering information from the warehouse.
2. Entering information in an application form.
3. Verification of the results.
4. Continuing with the next set of input information.
Typically, the warehouses to hold both input & information verification. A check information includes the following operations in a loop:Test Complete includes a quantity of features to perform these steps. You can select the functionality that best suits your needs
Data Driven Automation Frameworks:
In recent years there's been numerous articles on various approaches to check automation. Somebody who has read a fair, unbiased sampling of these knows that they can and they ought to not expect pure capture and replay of check scripts for success in the life of a product. They will find nothing but frustration is not.Sometimes this show is difficult to describe to people that have not yet made significant check automation with these capture \ playback tools. But it usually takes less than a week, often less than a day, to listen to the most repeated phrase: "It worked when you recorded it, but now it fails when I play again!"
Data Driven Script:
The scripts are based on information specific applications of the script captured or by hand coded proprietary language automation device & then modified to accommodate the variable information.Variables used for password input fields of application & selection program that allows the script to drive the application with external information provided by the calling technique or the shell that invokes the check script.
TestComplete's Support for Data-Driven Testing:
Looking at the online help TestComplete, in "based on check information, find a help topic long , with links to external pages on the subject, but also links to two writing routines. It is worth noting that although these methods are the subjects of DDT, the routines are not only must do the DDT, but for now they will focus on these two. They GetCSVCount, GetCSVItem, CallMethod, SetValue and GetValue. The first four methods are the ones who are going to use much in the DDT, the other two will be less frequently used, unless you are getting some robust scripts DDT.Since DDT itself is very simple, direct support TestComplete method is also very simple.
GetCSVCount and GetCSVItem work with strings separated by commas, to provide an easy way to get to the values contained within the strings. This is called "analysis". A Comma Separated Values (CSV) word could be something like this:
02, c, "John", "Q", "Public", 13 "Product 02", "1234 Anywhere St.", "San Antonio", "TX"
Here's an important thing to think about: GetCSVItem is what is known as "zero base". That means the first element of the CSV string is thought about the number 0 in lieu of number 1. Similarly, if it was to the last point would be the point number 9, not number 10. Therefore, if they name the client, they would ask for item number 2, not the number 3, as follows:
varCustFirstName = GetCSVItem ('02, c, "John", "Q", "Public", 13 "Product 02", "1234 Anywhere St.", "San Antonio", "TX"
You can see that every element of this chain is separated by a comma. Each individual element of the chain is called "field" or a "value". The GetCSVCount and methods GetCSVItem work with strings like this. If they pass this string GetCSVCount function, they receive a return value of 10. There's ten discrete values in the CSV string. Furthermore, if they get the customer's name, they can use GetCSVItem to do that.
So with these four functions, they can easily retrieve the values from CSV file, which is useful if our information external DDT CSV text files or spreadsheets. Returning to our customer / orders example, they see next. (This is pseudo-unique code.)
ReadExternalData function (AFileName)
lsCustomerName var lsAddr, lsCity, lsRegion, lsPostalCode
while not EOF (AFileName)
lsLine = readLine (AFileName)
if (GetCSVCount (lsLine) == 5
lsCustomerName = GetCSVItem (lsLine, 0)
lsAddr = GetCSVItem (lsLine, 1)
lsCity = GetCSVItem (lsLine, 2)
lsRegion = GetCSVItem (lsLine, 3)
lsPostalCode = GetCSVItem (lsLine, 4)
Do not worry about trying to make real working code - it is abstract and is only for show, but his real DDT code might look like. What this tiny amount of code is not very strong and serves as a great example of a scenario of standard DDT. Although you can also perform more complex tasks, which I will discuss in future papers, this is a nice beginning point.
EnterCustomerRecord (lsCustomerName, lsAddr, lsCity, lsRegion, lsPostalCode)
EnterCustomerRecord function (aCustomerName, aAddr, ion of, aRegion, aPostalCode)
var p, w
p = Sys.OrdersProcess
w = p.MainForm
w.ToolButton5.Click (6, 7)
w = p.OrderFrm
w.CustomerName_Edit.wText = aCustomerName
w.Street_Edit.wText = aAddr
= Ion of w.City_Edit.wText
w.State_Edit.wText = aRegion
w.Zip_Edit.wText = aPostalCode
As for the other two methods outlined in aid (CallMethod, SetValue and GetValue) I won't talk about that now - not necessary for this book on DDT.
Part of this technique is not clearly covered is actually reading the external information. That is partly because there's so lots of options. TestComplete can read information from DDT from text files, spreadsheets, database tables and internal information sets. To access your information, you can use ADO, OLE automation or standard text file access methods. Lots of of these options for storage and access methods are shown in the demonstration project in TestComplete including DDT, which we'll cover soon. For now, plan on getting to the information in the most comfortable.