Again on the job market for automated testing tools

The following results appeared after four months tracking the job postings for QA Engineer with automated testing tool experience on fashionable job search engines and craigslist (the craigslist search is local, only for San Francisco Bay Area)

I started to track since April, 2006 and as we see job market looks steady for both tools.
Silktest – 68; 164; 175; 180.
Winrunner - 514; 519; 537; 516.

Silktets – 17; 23; 26; 33.
Winrunner - 28; 27; 30; 30.

By the way today Hewlett-Packard announced that it will acquire management software company Mercury Interactive for $52 a share, or $4.5 billion in cash. Will it give boost for Winrunner and Quick Test Pro?

SilkTest Question 30: What are the important aspects of a test case?

The following important aspects of a test case applicable not only with Borland SilkTest 8.0, but with other automated testing tools like Mercury's Winrunner 8.2 and Quick Test Pro 9.0 . The manual testing required a little bit different approaches, but definition below applicable on manual testing of web based and client server applications.

In order for a testcase to be able to function properly, the application under test must be in a stable state when the QA engineer begins to execute test case. This stable state is called the base state. The recovery system is responsible for maintaining the base state in the event the application fails or crashes, either during a testcases execution or between test cases.

Each automated test case is independent; it should perform its own setup, driving the application to the state QA engineer wants to test, executing the testcase, and then returning the application to the base state. The QA team and the testcase should not rely upon the successful or unsuccessful completion of another testcase, and the order in which the testcase is executed should have no bearing on its outcome. If a test case relies on a prior testcase to perform some setup actions, and an error causes the setup to fail or, worse yet, the application to crash, all subsequent tescases will fail because they cannot achieve the state where the test is designed to begin

A test case has a single purpose – a single test case should verify a single aspect of the application under test. When QA team designed automated test case in this manner passes or fails, it's easy to determine for any team member specifically what aspect of the target application is either working or not working. If an automated test case contains more than one objective, many outcomes are possible.

In short the important aspect of test case for automated testing :
  • The testcase should always start from a predefined base state and return to the same base state.
  • The testcase must be independent from any other test cases.
  • The testcase must have only one test objective

SilkTest Question 29: How to hide password in the 4test script file?

My QA team is doing transition from Winrunner to SilkTest and we have a problem with the web application user name/password recording. The Winrunner records the password in the encrypted format, but SilkTest records password as a plain text. Can we do something to hide password?

There is no way to encrypt and decrypt password using 4test script, but QA engineer can make a work around with some external languages like Perl or Python. More advance solution is too never use your own account and create test accounts to access application under test.

UPDATE: SilkTest 2006R2 supports password encryption/decryption. Passwords can be encrypted, so that they are not displayed in recorded test scripts or when playing back test scripts.Two new functions, Decrypt() and Encrypt(), have been added to the 4Test language to support password encryption.

SilkTest Question 28: How to start installation testing?

The QA department assigned for installation testing of our software product. I as A Lead Test Engineer try to develop 4test script which will recognize the correct path for installation CD-ROM drive and launch application. Can you give me some clue to start?

To recognize drive letter to CD-ROM, you have to use API with name GetDriveType(). See the 4test code written below:

[-] dll "kernel32.dll"
[ ] long GetDriveTypeA(inout String strDrive)
[ ]
[-] testcase GetDriveName() appstate none
[ ] GetCDDriveLetter()
[ ]
[ ]
[-] String GetCDDriveLetter()
[ ] integer i
[ ]
[-] for i=67 to 90
[ ] String strDrive=chr(i)+":\"
[-] if GetDriveTypeA(strDrive)==5
[ ] print(strDrive)
[ ] return(chr(i))
[ ] return " "

To launch application from the installation CD you can use the following 4test script

use ""
[-] testcase LaunchFromCD () appstate none
[ ] STRING sStart = "{GetCDDriveLetter ()}:\{strPathToSetupFile.Exe}"
[ ] App_Start (sStart)

App_Start is described in file file that comes with Silk Test.

SilkTest Question 27: How to set correct browser extension for web based application?

The following steps describes setting browser extension for testing web based applications.

  • Start SilkTest application.
  • Start Internet Explorer browser
  • Enter the URL of the Web application into Internet Explorer address bar and leave the Internet Explorer window with the web based application. Do not minimize browser window!
  • Switch back to SilkTest window.
  • Select Workflow->Basic in SilkTest menu
  • Press Enable Extensions on the Workflow bar.
  • The Enable Extensions dialog will show up. In most cases the web based application running in the browser window will be listed in the dialog box.
  • Select your web based application and click select.
  • The Extension Settings modal dialog window will show up. Select radio button DOM and click OK to enable the DOM browser extension.
  • Restart your web based application as asked in Text Extension Setting window and press Test button.
  • The SilkTest window with text "Configuration of your Internet Explorer 6 application is complete" should appear in case of successful settings.

SilkTest interview questions for QA Testers