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
- -Menu File
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.