SilkTest

From Wikipedia, the free encyclopedia

SilkTest is an automation tool for testing the functionality of enterprise applications in most versions of Windows, Sun Solaris 9 & 10, and Red Hat Enterprise Linux WS 2.1 & 3.0[1]. It is produced by Segue Software which was acquired by Borland in 2006.

SilkTest uses the proprietary 4Test language for automation scripting. It is an object oriented language similar to C++. It uses the concepts of classes, objects, and inheritance.

Contents

[edit] Main features of SilkTest

SilkTest has mainly 2 components:

  • SilkTest Host: contains all the source script files.
  • SilkTest Agent: translates the script commands(4GL)into GUI commands (User actions). These commands can be executed on the same machine as the host or on a remote machine.

SilkTest identifies all windows and controls of the application under test as objects and defines all of the properties and attributes of each window. Thus it supports object oriented implementation (Partially).

SilkTest can be run to identify mouse movement along with keystrokes (Useful for custom object). It can use both record and playback or descriptive programming methods to capture the dialogs.

Extensions supported by SilkTest: .NET, Java, DOM, IE, Firefox.

SilkTest uses Silk Bitmap Tool (bitview.exe) to capture and compare the windows and areas.

[edit] File Types used in SilkTest

Test Plan (.pln): used to create a suite of tests when combined with test scripts. Example : test.pln

-Myfirsttest
script : Mytest.t
testcase:firsttest
-Mysecondtest
script : Mytest.t
testcase:secondtest

Where Mytest.t is the main script file and firsttest and secondtest are testcase names in Mytest.t file. When this plan file is run it will automatically pick up first and second testcase in order and run those.

Test script(.t): used to write actual test scripts. Example: Mytest.t (Automating notepad application)

use "Mytest.inc"
-testcase firsttest
notepad.invoke()//invoke works for some applications
notepad.file.new.pick()
notepad.file.exit.pick()
-testcase secondtest
notepad.invoke()
notepad.help.helptopics.pick()
notepad.exit()

When this script runs it will execute firsttest and secondtest in order and then exit the notepad application.

Frame file (.inc): The abstraction layer used to define the windows and controls in application under test that will be further referenced in .t files. Example : Mytest.inc

-Window mainwin notepad
-Menu File
Menuitem New
-Menu Edit
Menuitem Replace

Here 'Window' is main class with 'Menu', 'Menuitem' as a subclass. File, Replace are objects.

Result file (.res): contains test run results with the names of passed or failed tests along with a description of the failures. Can also contain log messages.

Other than the results file, all files are text-based and can be edited in a text editor or the SilkTest IDE. As of SilkTest 2006 the files can be saved in either ANSI, Unicode, or UTF-8 formats. All of the source files are compiled into pseudocode object files either when loaded or at run time if the source files are changed.


[edit] See also

[edit] External links