Subscribe by Email


Showing posts with label Manual Testing. Show all posts
Showing posts with label Manual Testing. Show all posts

Saturday, December 29, 2012

What is a TestComplete automated testing tool?


The smart bear software has come up with a complete testing solution which aims at providing a platform to the testers on which they can create software tests of high quality. This complete testing solution is popularly known by the name of test complete automated testing tool. This tool allows you to carry out following tasks with the tests:
  1. Record the tests
  2. Manually script the tests using the keyword operations
  3. Automated play back
  4. Error logging
Test complete automated testing tool can be used with a number of applications few of which have been mentioned below:
  1. Web
  2. Windows
  3. WPF
  4. HTML5
  5. Flash
  6. Flex
  7. Silverlight
  8. .NET
  9. Java and so on.
- It is used to automate testing such as the functional testing, front-end user interface testing, data base or back end testing and so on. 
- The test complete tool is effectively used for the creation as well as automation of a number of different software test types. 
- The tests can be recorded and playback can be done whenever required. 
- A test being performed manually is recorded and played over and over again in the form of an automated test. 
- The users have the option to modify the recorded tests whenever they want to so as to create new tests and make enhancements to the existing ones by adding use cases to them. 
- The following are the operating systems supported by test complete:
  1. Windows 200, XP
  2. Server 2003
  3. Server 2008
  4. Vista
  5. Windows 7
- The following are the testing types that can be carried out using the test complete testing tool:
  1. GUI or functional testing
  2. Regression testing
  3. Unit testing
  4. Web testing
  5. Keyword testing
  6. Load testing and functional testing of the web services
  7. Distributed testing
  8. Manual testing
  9. Data driven testing
  10. Coverage testing
- It comes with support for the following languages:
  1. Jscript
  2. VBscript
  3. C++ script
  4. Delphi script
  5. C# script
- The test complete is compatible with both 32 – bit and 64 – bit version of windows applications. 
- The extended support and access is provided for the internal object, their properties and methods for the following applications:
  1. .NET: this further includes the following: VB.NET, VCL.NET, Jscript.NET, C#, C# builder, .NET, perl, python etc.
  2. Java: this is inclusive of SWT, AWT, WFC and swing etc.
  3. WPF
  4. Sybase power builder
  5. Microsoft fox pro
  6. Microsoft access
  7. Microsoft InfoPath
  8. Web browsers such as Netscape navigator, Mozilla Firefox, internet explorer etc.
  9. Visual C++
  10. Visual basic
  11. C++ builder
  12. Delphi
  13. Adobe flex
  14. Adobe flash
  15. Microsoft Silverlight
  16. Adobe AIR
- The test complete tool for its uninterrupted efficient performance has received several awards few of which we list below:
  1. Software development jolt awards by software development magazine
  2. Asp.net pro readers’ choice award
  3. Delphi information readers’ choice awards
  4. ATI automation honors
  5. Windows IT pro editors’ best and community choice award
- The test complete automated software testing tool aims at the identification of all the defects existing in a software system or application. 
- It works on a process that exercises and evaluates a software product’s components through a manual automatic means so that it can be verified whether or not the product satisfies the end users’ requirements. 
- The test complete has been judged based up on factors such as: recording efficiency,
capability of script generation,
data driven testing,
test results reports,
execution speed,
re-usability,
playback of the scripts, 
ease to learn and cost.


Friday, June 29, 2012

Does automation replace manual testing? What are the main benefits of test automation?


Test automation has proved to be quite useful in reducing the night mares of the testers regarding the testing of very complex, complicated and large software systems or applications. Almost all the manual testing processes that make use of the formalized testing processes have been automated. Although manual testing involves intense concentration and can root many of the defects and faults in the software systems and applications, it requires a hell lot of patience, efforts and time.

Can automation testing replace manual testing?


- In today’s fast paced software world, test automation has undoubtedly become one of the most strategic and critical necessity of the software development. 
- In the past years, the level of testing was considered to quite sufficient since the software systems and applications were not so dynamic.
But in today’s world we have explosive software systems and applications and we need to test them? Here the manual testing alone cannot suffice! 
- There are many classes of defects that cannot be traced without automated testing and there are several other types of errors and bugs that can be discovered using manual testing only. 
- So, we will say the automation testing cannot replace manual testing though it can be considered as a surplus to the manual testing. 

With rising demands for qualitative testing two things are possible:
(i) Either we increase the number of people involved in testing or
(ii) We increase the level of test automation.

- The rising demands for the rapidly developing web clients have made the need for test automation much critical. 
- The most unfortunate thing is that the testers are not full time to hone their software testing skills and the testers remain testers and do not become programmers.
- As a consequence of this, the simplicity of the software systems and application has been ruined and made far too complex and difficult to implement. 
- In order to get the most out of the test automation process, it should be implemented to the maximum extent it is possible. 
- If it is not used appropriately you can even face a failure in the long term development. 

To reap the full benefits of the test automation you need to keep the following things in mind:
  1. Test automation is not a sideline rather it is a full time effort.
  2. You should not confuse the test framework and test design as same entities.
  3. The frame work that is to be used for the test automation should be application independent.
  4. The frame work to be used must be maintainable and quite perpetual.
  5. The test design as well as the strategy must be independent of the frame work.

Benefits of Test Automation



  1. Test automation reduces the population of the staff required to carry out the testing.
  2. Consumes less time.
  3. Fewer efforts required.
  4. Much preferable option when it comes to the size and complexity of today’s software systems and applications.
  5. Testing is a repetitive process and this drudgery of the testers is taken by the test automation.
  6. Test automation allows the machines to complete tedious task of repetitive testing while in the meantime the testers can take care of the other chores.
  7. The testing costs are reduced.
  8. Using test automation the load testing and stress testing can be performed very effectively.


Thursday, February 16, 2012

What are different manual testing challenges?

Everything in this world has got some positive sides and some negative sides, some advantages and some disadvantages, and of course challenges! This holds utterly true with the technology too. Manual testing being so unsophisticated faces challenges too.

WHAT IS MEANT BY MANUAL TESTING?

- Manual testing involves a tester who is supposed to carry out the testing processes manually for finding out the errors and bugs.
- The tester here tests a software system or application with a view of an end user.
- All the features and functionalities of the software system or application are exploited to the most possible extent.
- As the tester cannot mentally track the whole testing process, he follows a written test plan.
- This also ensures that no important test case is missed.
- Even today after the invention of many modern testing technologies, most of the software engineering projects rely on manual testing since it involves a rigorous testing procedure.
- Manual testing works a long way in digging out more defects.
- In a typical manual testing a high level testing plan is followed.
- All the resources like software licenses and skilled people and computers are identified.
- The test cases are written in detail along with the procedure to be followed and the expected outcome.
- Different test cases are assigned to different testers who carry out the testing manually.
- A detailed test report is prepared.
- Manual testing demands skills because without skill the tester might falter.

CHALLENGES FACED IN MANUAL TESTING

1. Manual testing cannot be used to test out the whole application. It can only be used for some parts. The test cases are so large in numbers that it becomes impossible to execute all of them manually. If you were to execute all of those test cases, testing will take too much of time. You won’t be able to complete the testing within the stipulated period of time.

2. Always pay attention to the company defined processes. You should be well informed with the purpose these processes serve. Often following the company defined processes leas to incomplete software testing. The company processes often don’t keep up with the tester’s methodologies or test plan.

3. Manual testing requires good skills. The main skills required are of trouble shooting, analyzing and communication.

4. As the tester gets more hold of the software system or application testing, more and more test cases and errors and bugs come in to the scene and it become pretty much difficult to keep on testing the software system or application further. This is where the regression testing comes in to the play.

5. You should be careful while choosing the team members. They all should be skilled. Unskilled testers can further aggravate the problem rather than simplifying it. This also leads to inappropriate testing.

6. Manual testing should be governed by the time constraint. There is no time for executing each and every test case. The tester usually focuses on the completion of the task rather than focusing on the quality of the testing. There are a whole lot of the tasks to be performed like executing, documentation, automation and reviewing the test scenario.

7. The problem of sorting the test cases according to the priority often comes in way while following the manual testing. Defining a criterion for the sorting of the test cases well in accordance to the priority.

8. In manual testing the requirements of the software system or application are often misunderstood.

9. The reuse of test scripts is a difficult task in manual testing.

These challenges require analyzing skills rather than any other kind of skills.


What are different automated testing challenges?

Automated testing though being a modern testing methodology, faces challenges. Test automation is used whenever a large number of test cases are to be executed. A huge number of test cases cannot be executed manually.

AUTOMATED TESTING
- In automated testing, an automation tool or software is employed to handle the execution of the test cases.
- Such software even compares the actual outcome to the expected outcome.
- It efficiently generates the test data and also the preconditions.

MANUAL AND AUTOMATED TESTING
- Test automation process is mainly used to automate a manual testing process which is typically a much formalized one.
- Although manual testing is way more effective than the automated testing, it consumes too much of time and requires a larger effort.
- Though, manual testing is able to discover more errors and bugs, there are certain kinds of bugs that cannot be discovered up by manual testing.
- For automated testing a computer program is written that will take up the whole testing process which otherwise would have required manual work.
- Manual testing sounds like quite a drudgery! Isn’t it?
- Once the automated software is ready, the test cases can be executed quickly and can also be repeated any number of times without much fuss.
- Automated testing proves to be time, efforts and cost effective method for the software projects that are way too lengthy and need more maintenance.

CHALLENGES FACED IN AUTOMATED TESTING
Test automation tools are expensive and therefore they are employed in certain definite combinations with the manual testing. There are few challenges faced in automated testing:

1. COST EFFECTIVE
One of the challenges that automated testing faces is that it becomes cost effective only when used in the long term i.e., for regression testing of a software system or application.

2. Requirements
- The requirements for a software system or application are identified from the user stories.
- User stories are basically a description like of the software product.
- These requirements are sorted according to the priority as follows:

(a) High priority Requirements
These are the most critical requirements of a software system or application and have to be included in to the software before it is released to the public.
(b) Medium priority Requirements
These requirements are not so critical to the software system or application and hence can be worked around later. But, it should be done before the implementation.
(c) Low priority Requirements
These requirements are added just to enhance the overall quality of the software system or application. But, the software can do without these requirements.

After sorting up on the requirements in the order of their priority, the iterations for the release are planned and each iteration release takes about 1-2 months. Meanwhile too much of change occurs in the requirements of the software. Many a times such changes cause the iterations to bump. This is indeed a great challenge that hinders the implementation of the automating processes.

3. Tools
- The traditional tools don’t seem to work for all kinds of automated testing processes.
- For example, the traditional tools cannot be used for the agile automation process since they are capable of solving only the traditional problems.
- This makes it difficult to implement the automation in the early stages of the testing cycle.
- The deployment of the automated testing processes become simpler only after the whole software comes to the verge of completion since by then many issues had been settled.
- So, making a wise selection of tools is crucial for the automation and also poses a big challenge.

4. Effective resource management as the program grows poses another problem.
5. Lack of effective communication among the team members.


Sunday, January 22, 2012

What is the difference between scripted testing and exploratory testing?

Though exploratory testing and scripted are considered being a part of each other, there is a lot of difference between the two.

The scripted testing is performed by a set of test scripts which can be defined as a set of instructions that are to be performed on the software system or application under the test to test a particular functionality as required.

There are following ways of executing test scripts:

1. Automated testing:
- It can be easily repeated and is faster than manual testing.
- It is very useful when it is required to run the same tests over and over again.
- It is performed as a part of regression testing.
- Automated tests are poorly written and they may break during the execution.
- They only test what has been programmed into them.
- They only ensure that old bugs do not reappear.
- Manual testing and automated testing should be mixed together and used for exploratory testing.

2. Manual testing:
- This is the oldest and the most rigorous forms of testing.
- The test cases are reviewed by the whole testing team before using them.
- The test cases are either created at the basic functionality level or at the scenario level.

3. Short programs or test scripts written in a programming language (C#, C++, expect, TCL, java, Perl, PHP, python, power shell) or a special automated functional GUI test tool (like Borland silk test, HP quick professional test, rational robot etc) can be used to test functionality of a software system or application.

4. Short programs that have been extensively parameterized or data driven testing.

5. Table driven testing or keyword driven testing i.e., using reusable tests created in a table.

CHARACTERISTICS OF SCRIPTED TESTING
- Scripted testing is considered to be as a waste of resources by most of the testers.

- According to them the scripted manual testing inhibits the mind of the tester to use their creativity.

- Also, this testing requires heavy documentation as well as considerable amount of resources to create them.

- They often get out dated since the changes in the system are inevitable.

- Though being so criticized manual scripted testing is used by many organizations.

- The test cases are made repeatable and easy enough for a tester to perform testing with minimum supervision.

- Manual scripted testing is used in contracts where contractual agreement states that written requirements and specifications of the software must be met.

- Scripted test cases are useful where the tests are used as benchmark and have to be executed in the same way, every time.

CHARACTERISTICS OF EXPLORATORY TESTING
- In contrast to scripted testing, exploratory testing is a usual approach to software testing and can be defined as a test designing, test execution and simultaneously learning process.

- Exploratory testing is a kind of software testing that is emphasized and focused up on the responsibility and the personal freedom of the software tester.

- Exploratory testing is a kind of software testing that is emphasized and focused up to optimize the quality and effectiveness of his /her work continually by taking in to consideration mutually supportive activities like test designing, test related learning, test result interpretation and test execution.

- The activities run in parallel to each other.

- Exploratory testing basically heeds to exploiting the creativity of the tester or the programmer.

- During the testing of the software, the tester comes across various new things to learn together with experiencing them.

- Exploratory testing can be thought of as a black box testing methodology or technique instead of thinking of it as an approach to testing that can be used for any type of testing methodology and also at any phase of development of the software system or application.


Saturday, January 21, 2012

What is the difference between automated testing and manual testing?

Automated scripted testing and manual scripted are two most common and popular ways of carrying out the scripted testing. Scripted testing is performed by a set of test scripts which can be defined as a set of instructions that are to be performed on the software system or application under the test to test a particular functionality as required.

Automated testing is mostly used.
- In automated testing the test cases are executed automatically and there is no need of human intervention.

- Non- requirement of human intervention is the best advantage of automated testing.

- It can be easily repeated and is faster than manual testing.

- It is very useful when it is required to run the same tests over and over again.

- It is performed as a part of regression testing.

- The main drawback of automated testing is that the automated tests are poorly written and they may break down or crash during the execution.

- They only test what has been programmed into them.

- They only ensure that old bugs do not reappear and don’t prove to be a good methodology to find out new bugs and errors.

In contrast to automated testing the manual scripted testing is the oldest and most rigorous form of software and application testing.
- In manual testing the test cases are reviewed by the whole testing team before putting them in to execution.

- These test cases are created at two levels.

- The first level is basic functionality level and the second one is the scenario level.

- Apart from reviewing of test cases, the designing is also done by the whole software development team.

- Manual scripted testing is considered to be a waste of resources by most of the testers.

- According to some testers the scripted manual testing inhibits the mind of the tester to use their creativity and also this testing requires heavy documentation as well as considerable amount of resources to create them.

- They often get out dated since the changes in the system are inevitable.

- Though being so criticized manual scripted testing is used by many organizations.

- The test cases are made repeatable and easy enough for a tester to perform testing with minimum supervision.

- Manual scripted testing is used in contracts where contractual agreement states that written requirements and specifications of the software must be met.

- Scripted test cases are useful where the tests are used for the benchmarking purpose and have to be executed in the same way, every time.

- The testers should have a strong knowledge of the software system or application since in manual scripted testing; the test cases are created beforehand.

- The primary sources of information to the testers are functional design specifications, requirements documents etc and so on.

- To make the testing more effective, the testers are free to use supplementary sources of information to increase their knowledge of the software system or application by rigorous discussions with the development team.

- Manual scripted testing is used in situations or programs where a waterfall methodology along with the V-Model has been implemented.

- Apart from waterfall and v model methodology, this approach can also be used for projects where requirements and specifications are frozen and likelihood of modifications in those requirements and specifications is very less and this is also suitable for the situations where safety and regulatory situations demand proof of testing.

- Generally, this manual testing approach is considered old but, it is quite relevant in this current era of market driven applications.

The best methodology is mixing manual testing and automated testing together and using it for exploratory testing.


Friday, January 20, 2012

What do we mean by automated test data generation?

First let us clear up what is meant by Test automation? Test automation can be defined as the use of software system, program or application to carry out the following tasks:

- control the process of execution of tests
- to compare the actual outcomes with the predicted outcomes
- to set up the preconditions for test cases
- to keep test control and
- to implement the function of reporting tests.

WHY TEST AUTOMATION IS USED?
Test automation as the term itself suggests involves automation of a manual testing process which is already in progress.

- It is used for automating manual testing processes which use a formal approach for testing.

- Although manual testing also holds good for finding defects in a software program or application, it is a very laborious and time consuming testing process and also it is not so effective in finding certain kinds of defects.

- To overcome these drawbacks of manual testing, automated Testing is employed.

- It involves a process of writing a computer program or software to carry out testing that would otherwise requires to be done manually.

- Once the tests have been automated, they can be run, easily, quickly and repeatedly.

- All these plus points make the automated testing a very cost effective method for software applications.

- Even minor bugs or discrepancies can cause the program to break or crash over the lifetime of the application.

Two general approaches to test automation have been discovered so far:

- Code driven testing
Elements like classes, public interfaces, libraries and modules are tested under code driven testing with a assorted data arguments in order to validate the results for their correctness.

- Graphical user interface testing
As the name suggests this testing approach creates user interface events such as mouse clicks, key strokes etc. the changes that occur in the user interface are observed and that observable behavior is validated for its correctness.

TOOLS FOR TEST AUTOMATION
Unlike tools required for manual testing, test automation tools are quite expensive, and are usually employed or used in combination with the tools of manual testing.

- Nevertheless, the tools can be cost-effective in the longer term if used repeatedly in regression testing.

WAYS TO GENERATE DATA
Now coming to the automated test data generation, there are several ways for generating data and test cases.

- One of the ways to generate test cases automatically is model- based testing and it generates test cases through use of a model of the system.

- Data is the most important thing needed to execute any test.

- Generating data again and again for repeating tests becomes a time consuming task.

- You need to design the test data again and again to execute your test cases.

- You need to design the test data at the current instant if you are running tests in an exploratory manner.

- Generating test data on your own takes a lot of your valuable time.

- Automated tests need a large amount of distinct test data.

- Another alternative can be copying and pasting data for running tests if the production data is available.

- However, this does not prove to be a very good approach.

- But, nowadays several tools have been developed which can be used for automated test data generation.

So the good thing is that you need not waste your precious time generating test data by hand. These tools help you by creating large quantities of test data based on the conditions and constraints specified by you.

Automated test data generation has got the below mentioned benefits:
- Fast data generation
- Accurate data
- Uses built in algorithms
- Creates both valid and invalid test data
- Data is exportable


Monday, August 23, 2010

Overview and Features of Compatibility Testing

Compatibility testing is performed to ensure compatibility of an application or Web site with different browsers, operating systems, and hardware platforms. Compatibility testing is one of the several types of software testing performed on a system that is built based on certain criteria and which has to perform specific functionality in an already existing setup/environment.

- Compatibility testing can be performed manually or can be driven by an automated functional or regression test suite.
- The customer has different kinds of platforms, operating systems, browsers, databases, servers, clients, and hardware.
- Different versions, configurations, display resolutions, and Internet connect speeds all can impact the behavior of your product and introduce costly and embarrassing bugs.
Therefore, compatibility testing becomes necessary.
- Software is rigorously tested to ensure compatibility with all the operating systems, software applications and hardware you support.
- Compatibility testing will ensure that the code is stable in both environments and that any information/error messages or user interaction is handled and presented in the same way regardless of the OS.
- Compatibility testing can be easily accommodated in manual tests by having different members of the team work on varying screen resolutions to see what issues arise.
- Compatibility testing should take account of the varying connection speeds available to the user base.
- Compatibility testing may be undertaken as part of Performance Testing and so it is always worth checking out what the non-functional test team on a given project are planning to run in order to see if this is covered.
- Compatibility testing can be used to evaluate the performance of system/application/website on network with varying parameters such as bandwidth, variance in capacity and operating speed of underlying hardware etc.
- Compatibility testing can be used to evaluate the performance of system/application in connection with various systems/peripheral devices.
- Database compatibility testing is used to evaluate an application/system’s performance in connection to the database it will interact with.


Saturday, July 24, 2010

Load test Process and why to use JMeter ?

Why to use JMeter


Easy to install and use Free!
- Java — most platforms.
- GUI vs. command line.
- Just download and run.
Feature-rich Post forms
- Record from browser.
- Load test data from files.
- Add logic, variables & functions.
- Run one test from multiple machines.
- Test many protocols, not just HTTP.

Load Test Process


- System Analysis : Enable customers to convert their goals and requirements into a successful test script. You can create your own test Script consistently and carefully UI design allows you to create your own test easily.
- Creating Virtual User Scripts: Tester must emulate the real user by driving the real application as a client. JMeter support this by adding thread group element. This would tell the number of users you want to simulate, how often the users send requests, how many requests they send, what request (FTP Request, HTTP Request, and JDBC request) and validate that your application is returning the results you expect.
- Defining User Behavior : JMeter allows you to simulate human actions more closely by controlling how long JMeter engine delays between each sample so you can define the way that the script runs.
- Creating a Load Test Scenario : JMeter offers support for this step by assigning scripts to individual virtual user, tester can define any number of virtual users needed to run the tests, allowing the user to simulate concurrent connections to server application, enabling user to create multiple threads ( virtual user) executing different test plan and increasing the number of virtual users in a controlled fashion.
- Running Load Test Scenario : With JMeter you can run your tests in a very easy way.
- Analyzing Results : JMeter offers support for this step by:
. displaying the data visually (Graph Results).
. save data in file.
. allows user to see one multiple views of the data.
. displays the response from the server.
. shows the URL of each sample taken.
. listeners will show different sets of data.
. it can send email based on test results.


Friday, July 23, 2010

Apache JMeter : Important Features and Capabilities

Due to the immense popularity of web-based applications, testing these applications have gained a lot of importance. Performance testing of applications, such as e-commerce, web services etc. is of paramount importance as multiple users access the service simultaneously.
- The Apache JMeter is an open source testing tool used to test the performance of the application when it is under heavy load.
- It puts heavy load on the server, tests the performance and analyzes the results when many users access the application simultaneously.
- Apache Jmeter is java application designed to load test the application.
- Jmeter is one of the Java tools which is used to load testing client/server applications.
- Jmeter is one of the Java tools which is used to load testing client/server applications.
- The important functionalities of Jmeter is that a heavy load on a server can be stimulated by using it, not on a server but also a heavy load on a network or object to test its strength under different load types.
- JMeter can be used as a unit test tool for JDBC database connection, FTP, LDAP, WebServices,J MS, HTTP and generic TCP connections.
- JMeter can also be configured as a monitor, although this is typically considered an ad-hoc solution in lieu of advanced monitoring solutions.


Thursday, July 22, 2010

Drawbacks of Manual Performance testing and how does a LoadRunner work ?

Working of LoadRunner


- The Controller is the central console from which the load test was managed and monitored.
- Thousands of virtual users perform real-life transactions on a system to emulate traf c.
- Real time monitors capture performance data across all tiers, servers and network resources and display information on the Controller.
- Results are stored in the database repository, allowing users to generate the reports and perform analysis.

The LoadRunner automated solution addresses the drawbacks of manual performance testing:
• LoadRunner reduces the personnel requirements by replacing human users with virtual users or Vusers. These Vusers emulate the behavior of real users operating real applications.
• Because numerous Vusers can run on a single computer, LoadRunner reduces the hardware requirements.
• The LoadRunner Controller allows you to easily and effectively control all the Vusers from a single point of control.
• LoadRunner monitors the application performance online, enabling you to fine-tune your system during test execution.
- LoadRunner automatically records the performance of the application during a test. - LoadRunner checks where performance delays occur: network or client delays, CPU performance, I/O delays, database locking, or other issues at the database server.
- LoadRunner monitors the network and server resources to help you improve
performance.


Wednesday, July 21, 2010

Test Scripting Language : 4Test used in SilkTest

SilkTest is Segue Software’s offering for automated functional testing. It supports the testing of client-server and browser-based applications, as well as standalone programs.
- In SilkTest, users modify automated test scripts using a proprietary, object-based programming language called 4Test.
- 4Test is an object oriented 4GL language and offers sufficient built in functionality to ease our life.
- SilkTest scripts can also directly access databases to execute SQL commands and perform verification of database content.

There are basically four classes to which the methods belong:
- AgentClass
- AynWin
- ClipboardClass
- CursorClass
Important Methods in test scripts are :
- Accept (): closes the dialog box and accepts values specified there.
- ClearText (): removes all text from text field.
- Click (): Clicks a mouse button on the push button.
- Close (): Closes the window.
- Close Windows (): Closes all windows of the application except main.
- Exit (): Terminates the application.
- GetActive (): Returns the active window in the application.
- GetCloseWindows (): Returns the windows that must close to return the application to base state.
- GetFocus (): Returns the control with the input focus.
- Invoke (): Invokes the application.
- SetActive (): Makes the window active.
- Wait (): Waits for the specified cursor and returns the value of elapsed time.
- VerifyActive (): Verifies that the window is active.
- Start (): Invokes the application and waits for the main window to appear.
- Size (): Resizes the window.


Tuesday, July 20, 2010

Parts and General Syntax Rules of Test Script Language (TSL)

TSL stands for Test Script Language. It is created by Mercury Interactive.

Syntax Rules of TSL


- Semi‐colons mark the end of a simple statement.
- Statements that contain other statements are called compound statements. Compound statements use curly braces and not semi‐colons.
- TSL is a case sensitive language. You need to be extra careful with the case of the statements. Most of the identifiers, operators and functions within the language utilize lower case so use lower case when you are not sure.

What Constitutes TSL?


Comments :
Use a # symbol to write a comment. Statements written as comments are ignored by the interpreter. It makes easier for the reader of the test script with useful information about the test. TSL does not have multi‐line comments.
Naming Rules :
Every language has rules that define what names are acceptable in the language and which names are not. Naming rules of TSL are :
- Must begin with a letter or the underscore.
- Cannot contain special characters except the underscore.
- Cannot match a reserved word.
- Must be unique within a context.
- Case Sensitive.
Data Types :
When a script is executing, different kinds of data gets stored. TSL simply uses the context in which we access the data to determine what the data type is. There are two data types in TSL:
- String : stores alphanumeric data.
- Number : Stores numeric data.
Data Storage :
This refers how information is stored in the test during test execution. TSL uses three different types of storage vehicles. These include :
- Variables : for dynamic storage.
- Constants : for fixed values.
- Arrays : for sets.
Variables :
Variables are used to capture the information that is to be needed later to be stored temporarily. In TSL, variable declaration is optional so you can create a variable simply by using the variable in your code. The only exception to this is in functions.
Constants :
Constants are very similar to variables because they store values also. The major difference between these two is that the value of a constant is fixed and cannot be changed during code execution.
Arrays :
Arrays are used to store several pieces of related data such as names. TSL provides a better mechanism for use when dealing with a collection of similar items. This concept, known as arrays, allows you to store several values of related information into the same variable.
Operations :
Operations are the many forms of computations, comparisons etc that can be performed in TSL. The symbols used in an operation are known as operators and the values involved in these operations are known as operands.
Branching :
Branching statements allow your code to avoid executing certain portions of code unless a specified condition is met. TSL uses two kinds of branching statements i.e. the if statement and the switch statement.
Loops :
Loops provide the ability to repeat execution of certain statements. These statements are repeatedly executed until an initial condition evaluates to false. TSL supports four different types of loops and these are the while, do..while, for and for..in loops.
Functions :
Functions are blocks of code containing one or more TSL statements. These code blocks are very useful in performing activities that need to be executed from several different locations in your code. TSL provides many built in functions as well as provides you the ability to create your own user‐defined functions.


Sunday, July 18, 2010

Test Script Languages (TSL)

Test Script Language(TSL) is a scripting language with syntax similar to C language. TSL is the script language used by WinRunner for recording and executing scripts.

Features Of TSL :
- The TSL language is very compact containing only a small number of operators and keywords.
- TSL is a script language and as such, does not have many of the complex syntax
structures you may find in programming languages.
- On the other hand, TSL as a script language has considerably less features and capabilities than a programming language.
- Comments : Allows users to enter human readable information in the test script that will be ignored by the interpreter.
- Naming Rules : Rules for identifiers within TSL.
- Data Types : The different types of data values that are supported by the language.
- Data Storage : Constructs that can be used to store information.
- Operations : Different type of computational operations.
- Branching : Avoids executing certain portions of the code unless a condition is met.
- Loops : Repeats execution of a certain section of code.
- Functions : Group of statements used to perform some useful functionality.

There are four categories of TSL functions. Each category of functions is for performing specific tasks. These categories are as follows:
- Analog Functions
These functions are used when you record in Analog mode, a mode in which the exact coordinates of the GUI map are required. When you record in Analog mode, these functions are used to depict mouse clicks, keyboard input, and the exact coordinates traveled by the mouse. The various analog functions available are Bitmap Checkpoint Functions, Input Device Functions, Synchronization functions, Table Functions, Text Checkpoint Functions.
- Context Sensitive Functions
These functions are used where the exact coordinates are not required. In Context Sensitive mode, each time you record an operation on the application under test (AUT), a TSL statement is generated in the test script which describes the object selected and the action performed.
- Customization Functions
These functions allow the user to improve the testing tool by adding functions to the Function Generator. The various customization functions are custom record functions,
custom user interface functions, function generator functions and GUI checkpoint functions. Different context-sensitive functions are Active Bar Functions, ActiveX/Visual Basic Functions, Bitmap Checkpoint Functions, Button Object Functions
Calendar Functions,Database Functions, Data – driven test Functions,GUI related Functions etc.
- Standard Functions
These functions include all the basic elements of programming language like control flow statements, mathematical functions, string related functions etc. The various standard functions are arithmetic functions, array functions, call statements, compiled module functions, I/O functions, load testing functions, operating system functions, etc.


Friday, July 16, 2010

QuickTest Professional : Phases of QuickTest Testing Process

Automated testing with QuickTest addresses these problems by dramatically
speeding up the testing process. The QuickTest testing process consists of 7 main phases:
Phase 1 :Preparing to record
Before you record a test, confirm that your application and QuickTest are set
to match the needs of your test. The application should display elements that you want to record.
Phase 2 :Recording a session on your application
QuickTest graphically displays each step you perform as a row in the Keyword View as you navigate through the application.
Phase 3 :Enhancing your test
- To test whether application is running correct, insert checkpoints that lets you search a specific value of page, object, or text string.
- Broadening the scope of your test, by replacing fixed values with parameters, lets you check how your application performs the same operations with multiple sets of data.
- Adding logic and conditional or loop statements enables you to add sophisticated checks to your test.
Phase 4: Debugging your test
Test is debugged to ensure that it is operating smoothly.
Phase 5: Running your test
Test is run to check the behavior of the application or website. QuickTest opens the application, or connects to the Web site, and performs each step in your test.
Phase 6: Analyzing the test results
Test results are examined to pinpoint defects in your application.
Phase 7: Reporting defects
Defects recovered can be reported to a database if the Quality Center is installed.


Thursday, July 15, 2010

Overview of QuickTest Professional and its features

Mercury Interactive's QuickTest Professional (QTP) is a very sophisticated testing tool for carrying out functional/regression testing of a variety of applications and very easy to learn and use. Learning QTP becomes easy if you already know WinRunner. QTP is much more powerful and one can migrate to it very easily.
It is used to generate various test cases and run them automatically. Its important features are :
- It has the record/replay provision to record the user interactions with the application software. You can record your keyboard entries and mouse clicks of the application GUI. QTP automatically generates the test script. Test script can be run repeatedly for regression testing of your application.
- This testing tool has a recovery manager and in case the application halts due to an error, it will automatically recover and this is very useful for unattended testing.
- QTP provides checkpoints option.
- It uses VB script as the scripting language and its syntax is very similar to Visual Basic, hence learning this scripting language is very easy.
- It provides a facility for synchronization of test cases.
- Its auto-documentation feature provides the feature for creating test documentation.
- Test report data is stored in documented XML format. This facilitates transferring the report data to another third party tool or into HTML web page.
- It supports Unicode and hence you can test applications written for any of the world languages.
- USing special add-in modules, QTP can be used for testing a variety of applications such as :

ERP/CRM packages such as SAP, Siebel, PeopleSoft, Oracle.
.NET WebForms, WinForms, .Net Controls.
.Web service applications and protocols including XML, SOAP, WSDL, J2EE and .NET.
Multimedia applications such as RealAudio/Video and Flash.


Wednesday, July 14, 2010

The four phases of testing management process in Test Director - Part II

TestDirector offers an organized framework for testing applications before
they are deployed. While using TestDirector, the testing management process can be defined using the following four steps :

- Specifying the test requirements.
- Planning the tests.
- Run the tests in manual or automatic mode.
- To analyze the defects.

Run the tests in manual or automatic mode


This phase is the most crucial phase of testing process. A test set is a group of tests in a TestDirector project designed to achieve specific testing goals. TestDirector enables you to control the execution of tests in a test set by setting conditions and scheduling the date and time for executing your tests. After you define test sets, you can begin to execute your tests. When you run a test automatically, TestDirector opens the selected testing tool, runs the test, and exports the test results to TestDirector. It includes defining test sets, adding tests to a test set, scheduling test runs, running tests manually, running tests automatically.

To analyze the defects


Locating and repairing defects is an essential phase in application development. When a defect is submitted it is tracked through the new,open,fixed,and closed stages. A defect may also be rejected or reopened after it is fixed. It includes :
- How to Track Defects
- Adding New Defects
- Matching Defects
- Updating Defects
- Mailing Defects
- Associating Defects with Tests
- Creating Favorite Views


Saturday, July 10, 2010

The four phases of testing management process in Test Director - Part I

TestDirector offers an organized framework for testing applications before
they are deployed. While using TestDirector, the testing management process can be defined using the following four steps :

- Specifying the test requirements.
- Planning the tests.
- Run the tests in manual or automatic mode.
- To analyze the defects.

Specifying the test requirements


Testing process is started by specifying the testing requirements in TestDirector’s Requirements module. It provides the test team with the foundation on which the entire testing process is based. A requirement tree is created to define the requirements. This is a graphical representation of your requirements specification,
displaying your requirements hierarchically. After you create tests in the Test Plan module, you can link requirements to tests. A track of your testing needs at all stages of the testing process can be kept. It includes defining, viewing, modifying and converting requirements.

Planning the tests


Testing goals can be determined after the requirements are defined. After this a test plan tree is built to divide the application into testing units or subjects. Tests are defined for each subject. Actions are specified for each test step that are performed on application. Links can be added to keep track of the relationship between your tests and your requirements. After you design your tests, you can decide which tests to automate and after that a test script can be generated. It includes developing a test plan tree, designing test steps, copying test steps, calling tests with parameters, creating and viewing requirements coverage and generating automated test scripts.


What are the four phases of TestDirector ?

TestDirector use can be divided into four phases:
- Test Requirements Management
Requirements Manager is used to link the requirements with the tests to be carried out. Each requirement in the SRS has to be tested at least once. In SRS, the functional and performance requirements are specified. Functional requirements are generated from use-case scenarios. Performance requirements are dependent on the application.
- Test Planning
In test planning, the QA manager does a detailed planning and addresses the following issues:
- Hardware and software platforms.
- Various tests to be formed.
- Time schedule to conduct the tests.
- Roles and responsibility of the persons associated with the project.
- Procedure for running the test.
- Various test cases to be generated.
- Procedure for tracking the progress of testing.
- Documents to be generated during testing process.
- Criteria for completion of testing.
Test design is done during test planning phase which involves defining the sequence of steps to execute a test in manual testing. The test plan is communicated to all the test engineers and also the development team.
- Test Execution
The actual testing is carried out based on the test cases generated, either manually or automatically. In case of automated testing, the test scheduling is done as per plan. A history of all test runs is maintained and audit trail, to trace the history of tests and test runs, is also maintained. Test sets are created. A test set is a set of test cases. In addition execution logic is also set. The logic specifies what to do when a test fails in a series of tests.
- Test Results Analysis
In this phase, test results are analyzed i.e. which tests passed and which failed. For the tests that failed, an analysis is carried out as to why they failed. Bug is classified based on severity. A simple way of classification is critical, major, minor. A more detailed way of classification is:
- Cosmetic or GUI related.
- Inconsistent performance of application.
- Loss of functionality.
- System crash.
- Loss of data.
- Security Violation.
The bug report is stored in a database. The privileges to read, write, and update the database need to be decided by the QA manager. Based on the bug tracking and analysis tools, QA manager and the project manager can take the decision whether the software can be released to the customer or still more testing is required.


Friday, July 9, 2010

Test Director : Important Features and Capabilities of test management tools

To deliver quality product, the testing process has to be managed efficiently. Testing management tools are very useful in such situations. Mercury Interactive's TestDirector is an excellent tool for managing the testing process efficiently. It is a web-based tool so it is very easy to use. Even if the development team and the testing team are located at different locations, the testing process can be managed very effectively.

Features of TestDirector
- A web-based tool and hence it facilitates distributed testing.
- As testing the software is linked to the requirements of the software, it provides the feature of linking the software requirements to the testing plan.
- It provides the features to document the testing procedures.
- It provides the feature of scheduling the manual and automated tests and the testing can be done during nighttimes or when system load is less.
- Keeps the history of all test runs.
- The audit trail feature allows keeping track of changes in the tests and test runs.
- It provides the feature of creating different users with different privileges.
- It keeps a log of all defects found and the status of each bug can be changed by authorized persons only.
- It provides the features of setting groups of machines to carry out testing.
- It generates test reports and analysis for the QA manager to decide when the software can be released in market.


Facebook activity