Subscribe by Email


Friday, August 31, 2012

What is TSL? What 4GL is it similar too?


TSL and 4GL are two major languages that are coming in to the scenario of the present world programming languages. What do you mean by a test script actually? 
Test scripts form a set of instructions that in turn can be performed on some software system or application under test for checking whether or not the functions are giving the desired output i.e., if they are working properly or not. There are two ways via which these test scripts can be executed as mentioned below:
  1. Manual testing and
  2. Automated testing
In this article we shall discuss regarding the test script language or TSL and fourth generation language or 4GL. First let us start our discussion with the test script language. 

About Test Script Language

- The Test script language lies at the heart of the integrated testing environment created by the mercury interactive.
- Test script language is categorized under the category of high level languages. 
- Its usefulness is born out of the combination of the flexibility as well as the power of the conventional programming languages and functions that have been developed as a tool or a feature to be used along with the products of the mercury interactive like winrunner and test director. 
- Also, this feature of the test script language has made it to be used for the modification and programming of the sophisticated test suites. 
- The functions that the test script language provides have been grouped in to the following four categories:
  1. Analog functions
  2. Context sensitive functions
  3. Customization functions and
  4. Standard functions.
- All of the above mentioned functions do not come with all the mercury interactive products. 
- Winrunner is one such mercury interactive product which supports all of these functions. 
- Apart from just the built in functions the test script languages gives its users the provision of creating their own functions.

What are Fourth Generation Languages - 4GL?

- A fourth generation programming language needs not necessarily be a language only it can also be a programming environment. 
- The 4GLs have been developed with a certain set of design patterns in mind and are assigned a specific problem domain. 
- 4GLs were developed as a succession to the 3GLs and are known to define a higher trend of statement power as well as abstraction. 
- It was observed that the 3GL languages were quite slow and much prone to errors. 
- As a result of the efforts to overcome this problem, the 4GL languages were born and these were more focussed towards aspects like:
     1. Systems engineering
     2. Problem solving and so on.
- The fourth generation language was designed as such that they cut down on the following: 
     1. programming efforts,
     2. Time consumed in development and of course
     3. The cost of the software development.

- However, in some of the cases, a try at achieving all this resulted in an ineffective and unmanageable code. 
- A formal definition of the 4GL was given by John Capers in terms of developer productivity (i.e., in terms of function points per staff month). 
- 4GL languages are said to support 12- 20 function points per staff month. 
- The 4GLs are a subset of domain specific programming languages has been stated a number of times by some researchers. 
- 4GLs have been classified in to 4 types as stated below:

1.Table driven programming (codeless): Uses table driven algorithm. Example: power builder.
2. Report generator programming languages: Generates the required report.
3. Fourth generation environments or more ambitious 4GLs: Specialize in generation whole system from output of CASE tools.
4. Data management 4GLs: such as-
             a)   SPSS
             b)   SAS
             c)   Stata


Thursday, August 30, 2012

What is a Module? What is a Compiled Module? (In WinRunner)


Modules are the basic elements of any software system or application that make up the foundation of that software system or application. In winrunner usually the term “compiled module” is used. We shall see in this article that what are the compiled modules and how they can be created in winrunner. 

What are Compiled Modules?

- Compiled modules store the frequently used functions and so are considered to be a kind of libraries. 
- In compiled modules, the functions defined by users i.e., the user defined functions can be stored and later these stored user defined functions can be called from the test scripts. 
- Compiled modules are considered to be a library since they are actually a script containing all the user defined functions which are required to be called many times from other tests. 
- Whenever a compiled module is loaded, the functions that it contains are subjected to automatic compilation and reside in the memory itself. 
- After this, they can be called directly and from within any test. 
- With the compiled modules, the performances as well as the organization of the tests that you create are improved significantly.
- This happens so because the compiled modules are debugged before they are used and therefore the tests that we created require very less error- checking. - In addition to all this, the interpretation of a function in a test script is quite slower than the calling of a function that has already been compiled.

There are 2 ways available for compiling a module as mentioned below:
  1. Loading the module to be compiled from a test script with the help of the TSL load function.
  2. Running the script of the module to be compiled with the help of the winrunner run commands.
- The step commands can be used for performing the incremental compilation if in case you need to debug or modify an already existing module. 
- After this, the part of the compiled module that you made changes to needs to be run so that the entire compiled module will be updated. 
- It is necessary that the user defined functions present in your compiled modules are automatically compiled every time the winrunner starts up. 
- For this you need to add load statements top the start up tests. 
- However, you should know that for loading the recovery compiled module there is no need for adding the load statements to the start up tests or any other tests.
- This is so bacuse the recovery compiled module loads by itself when the winrunner is started. 
- Another point to be taken care of is that the compiled modules cannot load the GUI map files when you are working in the GUI map file per test mode.
- If the compiled module has to make references to any of the GUI objects present in the application software then it is required that the referred GUI objects must also be referred in the test which is responsible for loading that particular compiled module. 
- Like a regular TSL test the compiled module can be opened, edited or saved.  - However, there is a big difference in the contents of a compiled module or ordinary tests. 
- Like a regular test, a compiled module does not contain any analog input or check points. 
- This is so because a compiled module is designed to store user defined functions rather than just performing a test. 
- The purpose why it stores all the frequently user defined functions is to speed up the execution process by providing a quick and convenient access from the other tests. 
- Its contents are:
  1. Function definitions and declarations,
  2. External functions prototypes
  3. Load statements etc. 


What are the other codes you can write/call with in TSL?


TSL or test script language is the sole language of the winrunner i.e., it is the only language in which the winrunner test scripts are generated. One requires a deep knowledge of TSL so as to create highly sophisticated test scripts. 

A good knowledge of the language also cut downs on the need of the manual intervention. A small number of keywords and operators make the TSL language quite compact. Proficiency in languages like C and C++ will make it easier for you to deal with TSL language. 

The TSL language being a script language has a very simple syntax structure when compared to other programming languages. This feature of TSL adds to its both advantage and disadvantage. The advantage is that it is as easy as a wink to learn because of a less complex structure and the disadvantage is that being so simple reduces its capabilities. 

Below mentioned are the features of the TSL language that can be used to write the code:
  1. Comments
  2. Naming rules
  3. Data types
  4. Data storage
  5. Operations
  6. Branching
  7. Functions and
  8. Loops.
Knowledge of other languages like following also adds in quick learning of TSL:
  1. Java
  2. Perl
  3. JavaScript etc.
- The QTP codes that are written using the HP’s quick test professional can be written or called in TSL language also. 
- The reverse is also possible i.e., the code written in TSL can be migrated in to QTP format. 
- The other codes thus written using TSL language usually sever less time turnaround but it largely depends on the degree of the complexity of the code as well as the process.
- Winrunner provides a shareable environment in which users can organize, write and maintain a set of automated test cases as well as supporting software libraries. 
- The winrunner along with TSL provides a perfect tool box for the creation of a testing frame work but the responsibility to build the right frame work lies in the hands of the user. 
- Winrunner provides a good software development environment that caters to all the needs of the test automation engineers. 
- The TSL can be considered to be a simplified version of C language or one of its derivatives since it does looks and feels like C language. 
- Test automation engineers who are quite experienced with C take less time and face little difficulty in becoming proficient with TSL language. 
- The organization of the TSL code depends largely up on the skills of the test automation engineers. 
- They must organize and maintain the code base.
- The winrunner comes with a large number of automation wizards which aid in every process of test automation. 
- Even though the winrunner meets all the needs of the testing organization, it is required that an additional development paradigm and testing frame work must be implemented with it. 
- This is necessary because otherwise the values obtained from the test automation will be lost in the due course of maintenance.
- The web, GUI, .NET and java codes can be written and called with in TSL and can also be verified. 
- TSL language is a standard start up script that is easily invoked during the start up of the winrunner. 
- The TSL codes are used for the standardization of several operational aspects of the winrunner like the following:
  1. Standard functions
  2. GUI map configurations
  3. Shared scripts
  4. Shared libraries and so on.
- There are a hundred functions that TSL provides for various uses categorized under various groups and categories namely:
  1. Analog
  2. Context sensitive
  3. Customization and
  4. Standard.


Wednesday, August 29, 2012

What are all the different languages that can be called using TSL in between the scripts?


A suite of manual test cases was developed by some of the organizations with the help of text editor which was found to be quite difficult to be used, maintained and executed as efficiently as in the case of other test cases. 
These test cases prove to be quite effective in detecting the defects before the production phase starts but consume more time in their management and execution and thus affect the investment terribly.
This problem becomes graver as the role of the organizations grows. The only solution to this problem is the investment in a sound test automation tool. 

Winrunner is such a test automation tool whose core language is the TSL or “test script language”. 
The three basic needs of the test automation engineer are addressed by the winrunner and TSL both namely:
  1. Management and organizational needs
  2. Test architecture
  3. End user

What are the features of WinRunner?

The winrunner possesses the following features:
  1. It enables the users to author, organize and maintain a set of automated test cases.
  2. Provides a web enabled and shareable environment.
  3. It supports test case design.
  4. Provides automation
  5. Supports execution of the best practices (that have been defined the test organization).
  6. It serves as a tool box for building a testing frame work.
All the facilities are provided by the winrunner, now the responsibility of building a test frame work lies solely with the test automation engineers. 

What is TSL? What languages can be called through TSL?

Winrunner is driven by the test scripts created in the language TSL.
Test script language is a programming language which is quite close to the C programming language.
- Most of the features of the test script language resemble the features of the C programming language though it is quite simple than C programming language.
- The test automation engineers who are quite experienced with the languages such as C do not find it much difficult to master the test script language. 
- The organization is responsible for the maintenance and organization of this TSL code base.
- Few of the different languages that can be called using the test script language in between the scripts are:
  1. Web scripts
  2. GUI
  3. >NET
  4. Java
  5. Javascript
  6. HTML and so on.
- With the test script language the integration of other tool sets is also possible and is done via some API. 
- TSL actually comes in to play whenever the user records a test. 
- The default code that is generated in the winrunner window is in test script language only. 
- This script written in test script language is saved as some script file. 
- The TSL language apart from just creating the test scripts also combines functions developed from some specific purpose for the test in some other language that has got TSL like features like control flow statements, variables, arrays and user defined functions.
- Another good thing about test script language is that there is no need to compile it. 
- The scripts can be immediately executed just after they have been recorded. - Four types of functions are provided by the test script language as stated below:
  1. Analog functions
  2. Context sensitive functions
  3. Standard functions and
  4. Customization functions.
- Not even just language codes and functions but also the whole application written in a different language can be invoked in between the scripts with test script language.  
- This is actually done via the function “invoke_application” that is defined using test script language only. 


Tuesday, August 28, 2012

What are all the default codes WinRunner generates when you start an application?


Automation might be quite a headache but it helps in decreasing the execution time by a great margin and in a way it saves a large number of precious man hours. Once you are done with the default installation of the winrunner you will observe that a winrunner directory has been created under programs. 
This folder consists of the following:
  1. Winrunner executable
  2. Uninstall winrunner
  3. Soft key configuration
  4. Read me
  5. Fonts expert
  6. Sample application folder and
  7. Documentation folder etc.
The purpose of the winrunner is that it has been designed for performing functional testing and regression testing. Take a moment to study some sample application saved in the folder “sample application”. Now let us take a look at the winrunner application! 
- A tool bar is there which contains options such as new, open, save and list box for run modes namely:
  1. Verify
  2. Debug and
  3. Update
- Plus a red button for recording purpose, green arrow for running the test scripts from line 1 and a purple line pointer for running scripts from the current line. 
- Apart from this there are start, stop and pause buttons. 
- Rest of the options on this tool bar are for debugging purpose.  

Now let us begin with the recording of a simple script! 
- You open the application software and winrunner as well. 
- Re-size both the windows such that both of them are visible to you and they do not overlap. 
- Start recording by clicking on the record button and perform some specific operations (like entering some user id and password of the start up page is login page) on the start up screen of the application. 
- After performing some 3-4 operations click on the stop button of the winrunner application and the recording will be stopped. 
- After this, the scripts can be played back and if you might have observed there is a code that the winrunner might have developed for you. 
- Now, after saving the script take a look at the code which some what looks like this:
        #startup window
        Set_window(“login”,3);
        Edit_set(“user id”,”active);
        Password_edit_set(“password”,”*****”);
        Button_press(“sign in”);
        And the code continues.

- Like the above code, the default codes are generated by the winrunner up on the start up of an application software.
- The symbol “#” marks the comments in winrunner. 
- The code may or may not contain a couple of comments. 
- The comments are inserted by the winrunner during the recording phase itself. 
- The second arguments or the numbers in the code represent the time lag between any two statements while the scripts are being recorded.
- Whenever a script is saved through winrunner, a folder by either a default name or name given by the user as the case may be is created which consists of a file by the name “script”. 
- This file consists of the default generated code in plain ASCII codes. 
- This code can be run in two modes namely the verify mode and the debug mode. 
- After this phase, comes the development mode in which the debug mode is used. 
- Finally, the verify mode is used. 
- The set_window() statement in the code lays down the focus on the window. - This helps in performing a particular function on a specific window. 
- When you type in the user id, it is identified by the winrunner and the edit_set statement is generated accordingly. 
- The next statement i.e., the  password_edit_set statement is similar to the edit_set statement, the only difference being that this field contains encrypted data and for security reasons is to be displayed as a series of asterisk “*” marks. 


Monday, August 27, 2012

Is load testing possible using WinRunner? Does WinRunner help you in web testing?


Winrunner, apart from just serving as a test automation tool has also proved itself to be quite an effective tool for load testing. However, the winrunner can function as a load testing tool only at the level of the graphical user interface layer.  
Why it is so?
- This is so because at this level only the record and play back options are possible as if they are being carried out by a real world human user. 

How is load testing possible using WinRunner?

- The loadrunner counterpart of the winrunner is the proper load testing tool but sometimes winrunner is also used as one in addition to it. 
- Firstly, a user session such as a web browsing session is simulated. 
- The user actions taking place are recorded by the winrunner and are used for load testing. 
- No action is taken at the protocol layer by the wirnunner except recording and playing back of the events and all this seems as if some invisible real world human user is performing all these actions. 
- For the winrunner to perform load testing, it is required to give the control of the pc to it so that it can execute the previously recorded test scripts. 
- But at the same time a load test cannot be run in winrunner as a means of load generation. 
- The number of PCs required is directly proportional to the load that has to be given to the software system or application. 
- In spite of this disadvantage the winrunner will always be valued as a good load testing technology which provides the only means for the determination of the actual user response time. 
- The actual user response it calculates is inclusive of the processing that takes place on the side of the client hardware.

How WinRunner helps you in web testing?

- The context sensitive operations on the web (HTML) objects present in the web site can be recorded and run by the winrunner when it is loaded among with the web test add- in support. 
- This works if the web site in the browsers such as the internet explorer and Netscape. 
- With the help of the web test add- in, the properties of the web objects can be viewed and the information regarding the web objects present in the web site can be retrieved. 
- The check points can be created on the web objects present in the web site for the testing of the functionality of the web site. 
- Apart from internet explorer and netscape, the web browser AOL can be used for running tests and recording the objects in the web site but cannot be run or recorded on the following web browser elements:
  1. Back button
  2. Forward buttons
  3. Navigate buttons and so on.
- When the tests are created using the web test add- in the below mentioned objects are recognized by the winrunner:
  1. Text links
  2. Frames
  3. Images
  4. Web form objects
  5. Tables and so on.
- Different properties are possessed by every object. 
- These properties form a key aspect in the following tasks:
  1. identification of the objects
  2. Retrieval and checking of the property values.
  3. Performing web functions.
- All the above three tasks ensure that your web site is working perfectly or not. 
- You should take care that you start the winrunner with the web test add- in loaded in before you open your web browser to start the web testing. 
- The recorded tab of the GUI spy can be used for viewing the properties and values of the properties that were recorded by the winrunner for the selected GUI objects.
- This is how the winrunner makes it possible to do the web testing. 


Sunday, August 26, 2012

Can you test database using WinRunner? What are all the different DB that WinRunner can support?


- The testing of the databases has been made possible using the winrunner with the help of the data base record check points. 
- These runtime data base record check points can be added to the test scripts and data being processed in to information in the application software during the execution of the test can be compared with the corresponding record present in the data base that you want to test. 
- With the help of these check points, it is possible to compare the contents of the data bases of the different versions of the application software.
- Whenever a data base check point is created, a query is defined in the data base of the application and the values contained in the result set are tested by the data base check point. 
- The query can be defined in any one of the following ways:
  1. By using Microsoft query (it can installed from Microsoft office’s custom installation).
  2. Manually by defining an ODBC query i.e., by creating an equivalent SQL statement.
  3. By using data junction for creating a conversion file.
- The data base check point is said to fail when no match is found between the comparison and success criteria that has been specified for that particular check point. 
- A successful run-time data base record check point can be defined as the one where one or more than one matches were found. 
- One major characteristic of these check points is that they can be used in loop as well. 
- Results for all the iterations of the loop are recorded as separate entities. 
- The run time data base record checkpoints can be added to the test in order to make comparisons between the current values in the data base and the information that is being displayed in the application software while a test is in the process of execution.
- The run time record checkpoint wizard can be used for the following purposes:
  1. Defining the query.
  2. Identification of the application controls containing relevant information.
  3. Defining the success criteria of the individual check points.
- While testing your data base you may land in some situations where you may require comparing the data files of different formats. 
- Following the below stated steps for creating a run time data base record check point manually:
  1. Record the application up till where you want the data to be verified on the screen.
  2. Calculate the expected values of the corresponding records in the data base.
  3. Add the expected values to an edit field.
  4. Using GUI map editor teach the winrunner about the controls of the application and the edit fields of the calculated values.
  5. Add TSL statements to the test script in order to calculate the expected data base values extract the values and write the extracted values to the corresponding edit fields.
- Before you run your tests do make sure that all the applications with the edit fields containing the calculated values are open. 
- Earlier we mentioned the term “ODBC” in the article, it is actually a technology which enables the computer to connect to a data base so that the information can be retrieved by the winrunner easily. 
- Those who developed winrunner did not knew what kind of data base the AUT uses so it becomes impossible for the winrunner to know the way to connect to the data base of your application. 
- To overcome this problem, the ODBC was developed which can be taught how to connect to the data base. 
- Thus, it is because of ODBC that almost all the data bases are supportable by the winrunner.


Saturday, August 25, 2012

Explain data parameterization in WinRunner?


Whenever you subject your software system or application to testing, it is obvious for you to think of checking how your software system or application performs with some other multiple sets of data. 
For this what do you do? 
You create some data driven tests with some loops that runs a certain number of times or we can say which runs for how many different sets of data you want the application to be tested with. Each time the iteration of loop takes place, it leads to the testing of the software system or application with a different set of data.
But the winrunner will not simply execute such loops! 
- To make the winrunner use that data for driving the tests it is necessary that you link the data with the particular test script which you want it to drive. 
- This process of linking the data with the test script that it’s going to drive is called parameterizing of the tests.
- The data sets are recorded in the form of a data table. 
- The process of parameterizing the tests can be either carried out manually or you can take the aid of the data driver wizard. 
- The data driver wizard will not only help you in parameterization of your tests but will also help you in storing the data in the data table.
- The conversion of a test in to a data driven test is composed of four major steps and out of which the first important step is the parameterization of the test itself. 
- The process involves the replacement of the fixed values in the following statements:
  1. check point statements
  2. in recorded statements with parameters
- In the next step in this process you have to deal with the setting up of a data table which is suppose to store the values that are to be fed as the arguments to the test. 
- This marks the completion of the parameterization process. 
- Later, the statements and functions are added to the test so that they can be read from the data table and can execute in a loop during each iteration of the loop. 
- Statements are added to that script which is responsible for the opening and closing of the data table. 
- This whole process becomes less head ache when carried out with the help of the data driver wizard. 
- With its aid you can either convert just a part of your script or whole of your script in to a data driven test. 
- In some cases, it happens that even though your test scripts consists of check points, recorded operations, statements etc there is no need to parameterize them, you just want to parameterize the rest of the part of the test script that will be run with multiple sets of data in a loop. 
- In data driver wizard the fixed values in recorded statements and selected check points are replaced by the function “ddt_val”. 
- This function also adds the columns containing variable values to be assigned as parameters. 
- A test script may consist of several statements containing the fixed values entered by the user. 
- There is a dialog box named as “parameterize data dialog box” that can be used for the effective and quick parameterization of the statements and replacement of the data with parameters. 
- For doing this, you need to select the particular instance which consists of the data that is to be parameterized. 
- Then, go for the parameterize data option in table menu and the box opens.
Select the data table and enter the name for the table. 
- Then hit the “add the data to the table box” option. 
- Later, the data in this table can be modified. 


Friday, August 24, 2012

How do you invoke an application using TSL?


Test scripts of all the tests that are created via the winrunner are composed in a special programming language developed by the mercury interactive called the test script language or TSL. 
The generation of the test scripts in test script language (TSL) takes place while the recording of the test is in progress. Each line of the winnrunner test script that is written in TSL language is called a TSL statement and like in other languages each statement ends in semi colon. 
Most of the features of the TSL make it much like the C language but overall if we see, creating tests in TSL is quite easy as compared to writing tests in C. 

In this article we are going to discuss about how an application can be invoked using the TSL scripts.
- The TSL allows you to define a message in the test script of the test and have it delivered to the test results window through the winrunner. 
- For sending a message to the test results window, the below mentioned statement can be added in the test script:
Report_msg( message );
- The message may contain a variable, a string or a combination of both of them depending up on the desire of the user. 
- Applications can be started or invoked from a test script very easily. 
- The winrunner provides you a function for starting or invoking an application. - This function has been named as the “invoke_application” function. 
- The very presence of this function makes it quite easy for the testers to invoke the same or the other application that is being tested. 
- Mostly, it happens that you require to invoke the software application that is being test during the start up of the winrunner. 
- The application software that is being tested can be invoked very easily every time you start the winrunner software by just making an simple addition to the start up test that you are having at hand. 
- This addition is of the function that we discussed above i.e., the invoke_application. 
- The invoke_application can be added to the start up test and the application will be started by the winrunner.

(Startup tests or functions are those tests and functions which are run and executed by the winrunner before it starts running other main tests or functions. They mark the beginning of the winrunner testing.)

- If you are unable to add this statement to the test script of the start up test there is no need to worry as there is one more way for invoking the application being tested in winrunner.
-There is a “run” tab available in the test properties dialog box of the winrunner. 
- This run tab can also be used for invoking an application. 
- Clicking on this you can invoke the application at the beginning of some test run.
- If the run tab also fails then you have one more way of invoking the application being tested which involves the use of the system statement to start an application.
Now let us see what the syntax for the invoke_application function is, it has been stated below:
Invoke_application ( file, command_option, working_dir, show );

The explanation for the above function syntax can be given as following:
- The full path of the application software to be invoked is designated by the file.
- The command line options that are to be applied are designated by the command_option parameter.
- The working directory of the supplication software is designated by the work_dir.
- Lastly, what shall be the appearance of the main window of the application when it is open is designated by the show.


Facebook activity