UFT Automation Lesson 2
Framework is key to success, when start any work and to get success on that you should plan.
The same way framework is the base for any automation testing.
Framework is Structure – the set of rules function and prototype which you will use in your automation testing.
Why We need Framework?
If we will not use framework, then our scripts, tests and data will be in unstructured manner and maintenance of script and development of script will cost more.
So if we want to use reusability of function or script created and maintain them for longer time, we should use Framework.
What is Framework?
In detail framework is Structure of your test, scripts, libraries, data and functions, so easy to develop, maintain and reuse.
Developing a framework
In terms of Test Framework when an automation tester start developing framework below are the major activities need to be followed.
Prerequisite or activities which can be done before developing a framework.
- Basic/Intermediate understanding of application under test.
- Verify and validate the Manual scripts which is already written.
- Selection of tool’s and technology, based the available competencies.
- Do the feasibility analysis, which includes POC and estimation with small presentation to stake holders, based on that decision can be made.
- Do ROI calculation – with effort and time compare with manual execution.
Activities to develop framework.
- Design or plan the basic Folder Structure. To maintain Data, Results and Test Script.
- Can be used as HP ALM or other tools available.
- Test Scripts includes library files and Object repository.
- Library files have various function, which can be common utility or business function.
Will discuss more in detail about library, functions and repository in detail further in this tutorial.
- Selection of the Test cases and scenarios needs to be automated.
Automation Framework Type
In terms of UFT generally there are four type of framework.
- Data Driven
- BPT framework
- Hybrid framework.
Lesson 1 – UFT Automation
UFT is an Automation Tool developed by HP Software, to automate software Testing.
For more details, you can visit the HP Website.
Majorly UFT Test automation is used for Regression Testing by the software company.
But with new Features we can do the Business and Function Testing also.
UFT ALM Connection
ALM connection with UFT is very much essential when you are creating an Automation for very regress application and impact is high with your automation and also with a big test team.
- Safe code with Check Out option.
- Can be run from ALM, UFT expert is not required.
- Results will be stored on ALM so user can check any time.
- Can run multiple Test from different machine parallel.
UFT 12.5 options:
Creating New Test.
- GUI Test
- API Test
- Business Process Test
- Business Process Flow
Existing Test, Function or Solution
Creating New GUI Test.
- Record a test
- Create Functions and call functions in Test Action
- Create new Test
- Click on Record Button
Open Application and Run the manual steps.
Ex: for calculator
- Stop the record and Analyze the Code and Object repository(Local).
- Modify the Object names and their properties.
Use more appropriate name for the objects and more common identification properties.
Open application and use Highlight button to check the object.
Change the object name and properties accordingly.
The identification in Scripts get updated so that programmer or Automation tester, will know the object is used for what purpose.
In this way we can update the script and get the good code.
- Run – Run will run the test as standard mode.
- Maintenence Run Mode – in this mode user get the suggestion from UFT if there is any steps which is not working or objects are not identified, so that user can modify the steps or object at run time.
- Update Run Mode – If some object is changed and able to identified by QTP it automatically makes changes to script without asking user.
Testing – “Process of validating Software against the requirement is called as Software Testing”.
Quality – “following the standards to meet the compliance as per measurement define”.
In detail; when test team or user validate or investigate the software under test and its quality.
Software testing does not mean only to find error or defect, but also to check the correct behavior of software and quality of software, thinking as user perspective.
Testing and Quality team responsible for verification and validation of Software.
Verification method – “Building the right System”
Validation method – “Building the system right”
In verification Tester or QA is involved with Project team from initial phases and try to verify the Process and standard followed with respect to standard set.
Automated testing will shorten development and test cycles, by avoiding repetitive tasks and improve software quality.
But to get success in that choosing right automation tool is very important.
There is much functional and nonfunctional automation testing tool available in market, some are commercial and some are open source.
We will talk about two tools which are majorly used by the testers or firms.
HP QTP and Selenium
Let us check the positive and negative points of both the tool.
First will discuss about HP QTP tool
- Primary language used is VB script and can be easily learn by user.
- Object repository is great feature.
- QTP can be integrated with HP ALM, so easily manageable.
- Product Support can be available.
- Reporting can be easy if it associated with ALM.
- Less coding experience
- Supporting windows based application.
- QTP is costly compare to other commercial tools and license cost depends on volume and the type of license. If any add-ins required then extra cost for that. And requires renewal.
- Upgrade required whenever the system or software upgrade done QTP version also have to be upgraded based on specific application.
- With respect to performance execution time is higher, whereas scripting time is less.
- Hardware resource utilization High
- Only supports windows environment.
Now we will discuss about Selenium.
- Primary Selenium supports many languages Like Java, C#, ruby, and python.
- It is an open source (no license cost) and also can support integration with Test NG, Maven and Ant for build and execution.
- Supports most of the browsers Like IE, Chrome, FF, Safari etc…
- User can create their own framework based on the needs.
- Hardware utilization is less
- Very good for Web automation
- Supports multiple Environment like Linux , Solaris OS X, Windows.
- Resource or user should be good in programming and also in framework as well as in reporting.
- There will not be any direct support and user has to find solution through forums or community online.
- More coding experience required
- Windows based application cannot be tested as only support web automation.
Software Testing is required because we all do mistakes.
Software Testing is required to find out if there is any gap between the requirement specification and actual System or software application or product.
Since we work in a team and also with different region people, there may be some common mistake, or some time we ignore small things, because of other work priority, or there me be interpretation or understanding issue, which can result in software failure, hence we all need to check our own work.
Ideally, tester should be another person who has not worked on a system as developer, to check our work because another person is more likely to spot the flaws.
There are some reasonable points which tell us as why Software Testing is important and what are the areas that we should consider while testing of any product or application.
Software testing is important because of the following:
- Required to point out the defects and errors that may come during the development phases.
- Customer satisfaction as we can surely tell that the product will work as expected, in general or for specific inputs provided by customer.
- It determines the quality of product, which can build confidence in team as well as customer and stake holders.
- It ensures the business needs get fulfill by the software as expected by stakeholders.
- It ensures the application is stable and also response to each type of input.
- It also ensures that application should not result into any failures, which can be a heavy loss to customer as well as stakeholders and also expensive to correct or recover.
- Delivering good quality product to customer, requires less maintenance reliable and consistent, which build up good customer relationship as well as good reputation.
Software testing is a planned set of activities to provide stakeholders with information about the quality of the product or service under test. In other way it is the planned activity to identify the software is working as expected, based on requirement or user needs. Software evaluation involve some of the basic points mentioned below :
- Meets the product or customer requirement or satisfy the stakeholder needs.
- Should give proper response to all type of Inputs, it may be correct or wrong input.
- Function within applicable or acceptable time.
- Should be usable by the user.
- Can be implemented on intended environment.
Software Testing can be started once the product or software is in executable form. But the preparation for testing the software can be start much before the software is ready, example: understanding requirement, test planning, strategy, test design, test case writing, reporting criteria and mechanism, choosing automation tool if any required to do regression, retesting and so on.. Software Testing is a phase in software development life cycle which comes after coding and before implementation of software. so it is very important to a software tester to understand the software requirement thoroughly and do good testing.
Software testing is a process to find system works as expected.