Subscribe by Email


Saturday, October 27, 2012

How to fix the bitmap that failed to stabilize error?


It may happen that the bitmap might fail to stabilize the error in silk test. It is quite a frequently occurring problem but needs to be addressed seriously. 
Most of the times you might have been asked for or required creating a test case that can be straight-forward put to use in carrying out the bitmap verification. 
You set down to create such a test case and go for the verification of the full window while the recording is in progress. 
During the execution of the test case all of a sudden you get an error as stated below:
“Error: bitmap failed to stabilize”

Finding such an error can even be a nightmare for you and sometimes the whole quality assurance team may fail to think of a solution for this. You won’t even find solution for this in the silk test documentation. 

- There are situations that the bitmap issue might be stated in a described state.
- It is only when there is some instability in the verified windows that is to say that some element of the screen is experiencing frequent changes. 
- In such a situation, the stable copy of the bitmap is captured by the silk test automation tool. 
- If in case it could not get the window tested within a specific time interval, then it generates an exception saying “E _ BITMAP _ NOT _ STABLE”.
- Different approaches to such a situation might be used by the different quality assurance engineers. 
- You need to set the below mentioned options to 0 in the 4test code:
Agent. Set option ( OPT _ BITMAP _ MATCH _ COUNT, 0 )
Agent. Set option ( OPT _ BITMAP _ MATCH _ TIME OUT, 0 )
Agent. Set option ( OPT _ BITMAP _ MATCH _ INTERVAL, 0 )

- Another way of doing this is going to the options menu, then agent, then bitmap and change the required values. 
- Another error occurs while capturing image via the capture bitmap method. 
In some cases when this method was executed the silk test was observed giving the following error:
“bitmap region size (some coordinate) is not valid”

- In such a case the getrect method can be used for obtaining the coordinates of the bitmap. 
- The getrect method returns the following:
  1. X coordinate of the active bitmap
  2. Y coordinate of the active bit map
  3. Width of the active image
  4. Height of the active image
- For capturing an image, one requires two coordinates of the image i.e., (x1, y1) and (x2, y2).
- Here the coordinates correspond as follow:
1. First co-ordinate is for the top left corner of the image whereas
2. The second coordinate points to the right bottom corner of the image. 

- You can even take help of the identify object feature of the silk test workbench for discovering these coordinates. 
- To avoid these errors it is necessary that you fix the screen resolution in the first go itself i.e., using the first script itself using the following function:
Maximize()
- Once this function has been implemented, and then you should go for capturing the screen shot. 
- If this is not done then there are chances that the screen size may keep on changing i.e., it may expand or shrink according to the settings that you made for the previous scripts. 
- This may also cause the coordinates to shift on the screen which may cause the script to capture something else than what was expected. 
- However, the getrect method can return both absolute as well as the relative methods. 


Friday, October 26, 2012

How to run the silk scripts?


Silk test as we know is a test automation tool from the Borland which was launched in the year of 2006. This tool facilitates the automated regression testing and functional testing. However, the credit for the original creation goes to the segue software.
Various clients are offered by the silk test as described below:
  1. Silk test classic: This client of the silk test makes use of the domain specific language called “4test” for scripting of the test automation scripts. This language just like the C++ language is an object oriented language. Just like C++ it also makes use of the Object Oriented concepts such as following:
a)   Inheritance
b)   Classes and
c)   objects
  1. Silk 4J: This client of the silk test enables one to follow test automation by using java as the scripting language in eclipse.
  2. Silk 4 net: This client of the silk test also enables one to follow test automation by using VBScript or sometimes using C# as the scripting language in the visual studio.
  3. Silk test work bench: This client of the silk test enables the testers to carry out the automation testing using VB.net as the scripting language as well as on a visual level.

What kind of files a silk script consists?

In this article we are going to see how the execution of the test scripts takes place in silk test.
-  A basic or a typical silk script consists of two files namely:
  1. Include file and
  2. Script file
- The include file of the silk script is saved with an extension .inc and is particularly for the declaration of the following:
  1. Window names
  2. Window objects
  3. Variables
  4. Constants
  5. Structures
  6. Classes and so on.
- The second file i.e., the script file contributes in writing of the scripts. 
- It is saved by the extension .t and is used for defining of the body of the scripts. 
- Test cases meeting the various test conditions are defined in this script. 
- The two different types of files have been used to maintain the clarity of the code as much as possible. 
- If the include file of the test script does not consists of any of the test cases then the file may be compiled but cannot be executed. 
- If tried for the execution an error will be generated saying that there are no test cases. 
- Only the include file which consists of some test case can be run. 
- Before you run the script always make sure that you make separate declaration for the files:
  1. For the declaration of the objects and
  2. For creation of the scripts using declaration file.

Steps for running Test Scripts

After the two declarations have been made you should proceed for their compilation. Below we are stating the steps that are to be followed for running the test scripts:
  1. Launch the silk test automation tool.
  2. Open the script file of the script to be executed.
  3. Compile the above script by using the compile option from menu bar.
  4. Once the compilation of the file is complete the status of the script can be checked by the progress status.
  5. Any errors present in the script will be displayed at the end of the compiling process.
  6. Now run the silk scripts by clicking the run option in the menu bar.
  7. For running the test scripts you have two options: either you can run all of them at a single stretch or you can run them selectively.
  8. If you have opted for the latter option then you need to specify which all tests have to be executed.
  9. After selection you can again give the run command. 


Thursday, October 25, 2012

What is Perl Testing?


Various testing methodologies have become a corner stone for many of the development processes and PERL testing is one such testing methodology. 

"Perl testing is one such testing that is highly involved with the creation of automated test suites".

The creation of automated test suites with regard to the perl projects is assisted by around 400 testing and quality modules which are now available on the CPAN.
Now you must be thinking why only automated test suites in perl? 
The answer is that the with an automated test suite the developers as well as the project managers get a sense of confidence in the ability of the code that it can very well carry out a specification. 

What is Perl Testing?

- Perl development ethos has always viewed software testing as its central and critical part since years. 
- Gradually, a testing protocol by the name of TAP or ‘test anything protocol’ was set up for the perl in the year of 1987. 
- This TAP protocol is now available for so many languages. 
- Many of the test modules on CPAN like 100s make use of this TAP protocol. 
With the help of this protocol it has been made possible to enable the following aspects:
  1. Testing of data base queries
  2. Testing of objects
  3. Testing of web sites and so on.
- Around 250,000 tests have been developed for the core Perl language plus there are a same number of tests for the libraries that are associated with it. 
There is one more advantage of the automated test suites which is that the additions are done to the code base as the changes in functional requirements are experienced. 
- But, while making the additions, re-factoring is required so as to avoid duplication. 
- Since, if there is enough code coverage the issues will automatically be highlighted by the test suite and then it becomes fairly easy to spot the changes that occur in the knock on effects of code. 
- The duty of the code coverage is to determine how much of the code has been tested since the execution of the test suite. 
- This metric however can be obtained from the developer and also the branches and sections of the code that are not being tested can also be reported. 
- Testers can combine the testing modules that are most frequently used and thus it serves a good starting point. 
- So, for the cases in which testing specific functionality is required, one only needs to add specific testing modules to the test.
- Perl has always recognized testing as a part of its culture. 
- With the TAP protocol, the communication between a test harness and several unit tests has been made possible. 
- The TAP producers can make communication regarding the test results to the testing harness in a way that is language agnostic. 
- Earlier the parser and producers were available for only this platform but now they are available for a variety of platforms. 
- The responsibility for the following purposes is taken up by the test anything web site:
  1. Development of TAP
  2. Standardization of TAP
  3. Writing of test consumers
  4. Writing of test producers
  5. Evangelization of the language and so on.
- In many other testing methodologies, writing the tests and verifying them seems like to be a daunting task but it is pretty easy with the perl test facilities. 
- It is not always necessary that a large perl project must have an automated test suite. 


Wednesday, October 24, 2012

Explain advantages of DOM extension over VO extension?


In this article we shall discuss the advantages DOM has over VO. First, we shall discuss about these two silk test browser extensions individually. 

About VO Extension

- VO browser extension is related to the concept of virtual object. 
- An extension is a supplementary add–on component required for carrying out certain tests for web sites and web applications using silk test. 
- This virtual browser extension operates using a technique called the “sophisticated pattern recognition technique”.
- This technique helps in facilitating the object identification process and provides an actual view of the web sites and web applications.
- However, the HTML tags cannot be recognized with the help of this extension. - One thing to be noted is that only the objects present in the web pages can be recognized by the virtual object browser extension. 
- This extension however does not care about the implementation of these objects. 
- Identification of the object is done based up on the following:
  1. Control type
  2. Caption
  3. Associated text
  4. Control index
  5. Location and
  6. Window ID
- This browser extension is one of the methods used by the silk test for object recognition. 

About DOM Extension

- The second method is the Document Object Model and makes use of the DOM browser extension. 
- DOM browser extension is basically used for establishing a direct communication between the web application and web browser.
- The following tasks can be carried out:
  1. Recognition of the objects
  2. Categorization of the objects and
  3. Manipulation of the objects
- The DOM browser extensions works with the HTML code rather than working up on the visual patterns like the virtual browser extension does.
- Firstly, it identifies the browser window of the application which consists of the application that is currently being executed. 
- The object among the other web UI objects is identified based unique HTML elements that represent that particular UI object. 
- This is done by concatenating the following two things:
  1. HTML element identification and
  2. Browser window identification
- This DOM browser extension is known to operate on the standards laid down by the W3C or world wide web consortium.
- However, till date there are only two browsers which support this extension namely internet explorer 5+ versions and netscape 6. 
- These two web browsers provide the provision to silk test for making direct queries to them.

Advantages of DOM over VO

Now let us see what all advantages DOM has got over the VO browser extension:
  1. A rectangle is displayed over the VO or virtual object by the recorder as the recording is carried out by the quality assurance engineer.
  2. The text size as well as the actual name of the objects is easily recognized by the DOM extension as compared with the VO browser extension.
  3. The DOM extension is not dependent on the text size setting and browser size like the VO browser.
  4. DOM extension provides a better support to the border-less tables.
  5. More classes and properties are available in DOM extension as compared to the VO browser extension.
  6. Using DOM extension, you can maintain a great consistency over the object recognition process.
  7. DOM extension is quite fast in working as compared to the slow VO browser extension.
  8. One can expect some gain in the playback speed in DOM extension but the same is not possible with the VO browser extension.
  9. There is less crashing or freezing events in the recorder with the DOM extension and more in the VO browser extension.
  10. In VO browser extension the conversion of scripts is more like a daunting task but this not so with DOM.


Tuesday, October 23, 2012

What is Segue Testing Methodology?


Segue testing methodology as its name suggests has got its origin with the segue software corporation and this is what that we are going to discuss here. 

This testing methodology is comprised of the 6 major phases that have been discussed in detail below:

  1. Planning phase: In this phase, the testing strategy is determined as well as the specific test requirements are defined.
  2. Capturing phase: In this phase the GUI objects present in the application under test are classified based on some criteria and also a test frame work is created for the execution of the tests.
  3. Creation phase: This phase involves the creation of the automated tests that are reusable as well. Several recording and programming techniques can be used for developing the test scripts using the 4test language of the segue software.
  4. Run phase: In this phase certain specific tests are selected by the user and executed on the application under test or AUT.
  5. Reporting phase: This phase involves the analyzation of the test results and generation of the defect reports.
  6. Tracking phase: This phase involves the tracking of the defects in the application under testing  or AUT and performing the regression testing.

About Segue Testing Methodology

- The quest-con technologies is one of the members of the silk elite partner program of the segue software. 
- This partnership has resulted in the improved integrated automation software of the segue software with the quest assured which is the proprietary methodology of the quest-con  
- This has proved to be an effective one for the mitigation of the risk that is involved in this whole automating manual process. 
- Quest assured provides an environment for flexible development of the software.
- The technologies used by it are all based up on the best practices of the quality assurance.
- These are effectively integrated by the automation testing principles of the quest-con with the automation software solutions of the segue technology. 
- For ensuring that the segue tools and technology are utilized to the full potential, the strong knowledge of the quest-con’s manual testing process as well as its capability of automating the appropriate portions of the concerned process are used. 
- The segue testing actually emphasizes on the idea of the practical quality assurance.
- Thus, the implementation of the automation solutions becomes relatively easy and less messy as when compared with the existing culture of the corporate. 
- It is because of the segue testing technology that the software delivered by the segue software ensure accuracy as well as performance of the enterprise applications. 
- With the segue testing technology, comprehensive performance, scalability, verification solutions and monitoring all is possible. 
- Further, these qualities of the segue testing methodology make it even more reliable to be used in the fundamental business process and also provides the user with the most predictable outcomes.
- Segue testing technology has effectively helped the companies in reducing the risks involved with the software.
- It also helps in increasing the return investment that we find quite associated with the deployment status of the business applications. 
- This all makes the segue software a leading innovator in technology. 
One success example of the segue software is the silk test which is now its trade mark. 
- Since long the segue testing technology has been known to dedicate itself entirely to the quality optimization of the solutions. 
- Thus, the segue software today has overcome the various optimization challenges that are faced by the software testing world. 
- The segue testing technology is based up on a result oriented approach which results in the proper optimization of each and every step of the testing process. 


Monday, October 22, 2012

What is the built-in recovery system in Silk Test?


With the in – built recovery system of the silk test automation tool it has been made possible to restore the application under test to its stable state which it was in before it crashed, failed or hanged. The stable state to which the recovery system of the silk test restores the application under test or AUT is called the base state of the application software. 

The test automation counterpart of the silk test i.e., the winrunner does not support this feature. The recovery system comes in to action whenever the application under test fails ungracefully. 

For client server based applications there are 4 major tasks that are carried out by the built – in recovery system of the silk test. Those 4 major tasks have been listed below:
  1. Ensuring the continuous running of the web browser.
  2. Restoring the application back to its default size if it has been minimized by the user.
  3. Setting the working status of the application as active.
  4. Closing the other dialog boxes or child windows that have popped up.
On the other hand the below mentioned are the tasks that are carried out by the built – in recovery system of the silk test for the application software that are browser based:
  1. Waiting for the browser to restore itself to the active mode if it has been inactive for a long time.
  2. Ensuring that the various below mentioned elements are displayed:
a)   Status bar
b)   Text field
c)   Location
d)   Browser tool bars and so on.

- The data regarding this built – in recovery system is stored in a file by the name of defaults.inc which can be found in the same directory where the silk test has been installed. 
- Most of the actions that are carried out on the application under test are when the application is in the default base state. 
- In this state, all the actions are based up on the default properties.
- So, whenever a test case or script is executed the recovery system gets invoked automatically.
- However, the flow of control is different when the tests are run based up on some main function or a test plan. 
- Here, when a test case starts executing via the silk organizer the same test case gets the control first. 
- But before the execution of any test case, a function is called namely “default test case enter”. 
- This function is called with the purpose of calling the set app state function which in turn will invoke the default function “default base state”. 
- Following this the execution of the test case begins. 
- In any of the either cases the control is passed to the default test case exit function:
  1. If the test case finishes with its execution or
  2. If the test case encounters an error while execution
- The default test case exit function keeps the record of the logs for the exceptions in the test case execution and later calls the set base state function which in turn calls the default base state function. 
- Whenever the tests are run via a main function instead of one two recovery functions are invoked in the same way. 
- But here the difference is that instead of calling default test case center the function called is “default script enter” before the scripts start running. 
- The value of this function is NULL by default. 
- When the last test case has finished executing the “default script exit” function is called. 
- The purpose of this function is to log the errors or faults that occurred outside the test case. 


Sunday, October 21, 2012

What Silk Test does when you enable a browser extension?


Extensions in silktest prove to be of great help whenever testing has to be carried out in environments that are not directly supported by the silk test. 
If you want to use the silk test for testing in a specific environment then it is necessary to enable those extensions in the silk test. This is a way of telling the silk test to load some specific extensions. 

What are browser extensions?

- The extensions which have to be loaded do not depend on the machine on which the AUT or the application under test is installed on a local machine or on a remote machine. 
- The extensions which have to be used need to be enabled on the host machine. 
- Also, those extensions need to be enabled on the target machines as well on which the application under test is to be tested. 
- Once the extensions have been enabled on all the machines for AUT, a list of extensions to be loaded is sent to each agent by the silk test. 
- Then, the appropriate extensions for the AUT or application under testing are dynamically loaded by the silk test agent component. 
- The extensions that meet all the requirements of the application that you wish to test should only be installed on the target machine for the current as well the future testing sessions. 
- However, there are some extensions that are enabled by default via the installation program of the silk test. 
- The default extensions may include extensions that come with the silk test, java extension as well as all the supported web browser extensions. 
- The other extensions are the one that you explicitly install for the development environment. 
- These are enabled for those applications software that are invoked during the standard run time of the extension. 
- The option for enabling the extensions is available on the basic work flow bar. - An extension is actually a file that is used with the purpose of extending the capabilities of the data that is available to a particular program. 

What SilkTest does when a browser extension is enabled?

Extensions are provided by the silk test for the testing of the applications which make use of the non standard controls in browser environment as well as the other specific developments. 
- First, you need to start or launch the application that you want i.e., the application for which you want to enable the extensions but make sure to do so in the maximized mode of the application window. 
- Now go to the basic work flow bar and click on the enable extensions option. 
- Select the extensions to be installed from the list and un-check the others. 
After selection click OK and after this you will get an extension settings dialog box. 
- When you get the test extension settings dialog box, close the application under test and re launch the application. 
- Click OK in the test extension settings dialog box. 
- Finally, you need to click on the OK option in the test passed dialog box. 
- You need to do one more thing to ensure that the test case you execute starts as well as ends with the application under test or AUT in a state that is intended in spite of the errors that may occur. 
- The thing is to configure the recovery system of the silk test. 
- The option set recovery system is also available on the basic work flow bar. 
Select your application and click OK for the dialog box that states that the system has been configured. 
- You are now all set to go for the recording of the test cases. 


Saturday, October 20, 2012

What are the challenges of testing Web Applications? How to use Silk Test with Web Applications?


Web applications are a rage these days and thus a fast delivery of web applications is in urgent need. But at the same time it is important to keep the security of these web applications in check. 
However, web testers continue to face some challenges while testing the web applications and this is what that we are going to discuss in this article. 

What are Web Applications?

- As we are familiar with the growing popularity of the web applications, with the time, new and advance features are being introduced in the web applications.
- It makes them one of the most popular means for the development of the commercial systems. 
- Nowadays, almost all the companies opt for developing web based software wherever and for whatever possible. 
- This is so because with the help of web applications the company can easily cater to the needs of a large number of people. 
- Also, once the infrastructure of the application is put in place the deployment of the apps becomes quite easy. 
- The web applications are powerful assets and using them, a feature rich content can be provided to a large audience across the globe at quite an economical cost.
- Hence, it becomes more and more daunting to test these complex applications. 
- For the web applications the two factors continue to be the most important:
  1. Accessibility and
  2. Security
Challenges in testing Web Application
While on one side, the company wants to cater to the users all over the world, on the other side their web application can fall prey to some grave security issues. Thus, only web application testing stands a chance to secure the data as well the organization. 
- The design and nature of every web application is somewhat unique to it and so it is possible for the users to follow different paths of usage.
- In such cases, it is necessary to ensure that all paths are working well by testing all the permutations and combinations. 
- Also, all the software applications are not self explanatory. 
- Users of a web application are from various back grounds and those who are from a non technical background may find it hard to use the application. 
- This does affects the design of the application and therefore should be tested during the usability testing of the application. 
- For intranet based web applications, it is possible for the developers to make assumptions regarding the audience but this is impossible for the internet based web applications. 
- Today, there are many web browsers available and so different browsers are used by different users. 
- Thus, there is a need to test this aspect since it can be ensured that the web application is compatible with all the platforms.

How is web testing done in SilkTest?

- Web testing is possible using the Borland’s silk test. 
- Till now, it has been proven to be the leading functional testing tool in the software industry when it comes to testing e- business applications either based up on windows, web, java or client or server based and so on. 
- Silk test is used for the following purposes:
  1. Test planning
  2. Test management
  3. Direct data base access and validation
- It also comes with a built – in recovery system for the purpose of unattended testing of the web applications across multiple browsers, platforms and technologies.


Friday, October 19, 2012

What are the default test plans attributes? How to define new test plan attributes?


Test plan is one of the important aspects of the silk test and is often characterized by some default attributes called the default test plan attributes. Well, the default test plan attributes are what we are going to talk about in this article. We shall also discuss how new test plan attributes can be defined. 

What is a Test Plan?

- A test plan forms the basis of the primary document that lays down the foundation for the testing that is to be carried out in a manner that is well organized. 
- Test plan is very important for the project managers as it is the document using which the testing projects can be managed well. 
- A badly drawn test plan is just same as not having any test plan.
- On the other hand, an intelligently drawn plan helps in smooth execution of the test cases and analysis of the other testing activities. 
- It would not be wrong to say that the test plan is actually a kind of dynamic document. 
- It acts especially in the spiral environments which have a tendency to change constantly. 
- The test plan is said to be a dynamic document since it changes according to the changes that occur in the software system or application. 
- Basically, a frame work is provided by the test plan which consists of a majority of the considerations that are made while planning. 

Attributes of Test Plan

Below mentioned are some of the attributes of a good test plan:
  1. It stands a greater probability of catching majority of the defects of an application under test or AUT.
  2. It provides greater test coverage for covering most of the test code.
  3. It stays quite flexible throughout the testing process.
  4. It is easy to be executed over and again automatically.
  5. It properly defines the tests that are to be performed.
  6. It lists out the expected results as clearly as possible.
  7. It helps in reconciliation of the defects whenever a defect is found.
  8. It helps in defining the objectives of testing.
  9. It helps in defining the testing strategy in definite terms.
  10. It helps in defining the criteria of test exit.
  11. It always stays meaningful.
  12. It never becomes become redundant.
  13. It helps in identification of the risks
  14. It helps in defining the test requirements as clearly as possible.
  15. It helps in describing the test deliverable as clearly as possible.
Every test plan created is concluded with the following 3 steps:
  1. Defining metrics
  2. Conducting periodic audits as well as scheduling them
  3. Approving the test plan
In the test plan view window, there is a tab titled “attributes” clicking on which will enable you to see all the project attributes that have been assigned to that particular test. Attributes can be thought of as an administrator created characteristics that are quite applicable to the tests. 
An attribute is defined as follows:
- item
Description
- Attribute
Name of the attribute
- value
Value that has been assigned to the attribute
- Type
Attribute type
- Inheritance
Whether or not the attribute is inherited

- The concept of inheritance in attributes is somewhat similar to what we have regarding the inheritance of success conditions and properties. 
- Attributes that are inherited throughout all the child test definitions and sub folders are assigned to a parent node. 
- To define an attribute follow the steps:
  1. Open the test project.
  2. Click define attributes menu
  3. Click new button.
  4. Enter the name for the new attribute.
  5. Select the attribute type.
  6. Click ok.


Facebook activity