Help me for selecting tool
I am working in HRMS domain and we wish to automate the TC preparation. Which open source tool is suitable for our web application.Please help me.
Automation tools depend on technologies and type of application.. I assume that HRMS is web app.. Then you need to look out your testing requirements like browsers support, technologies support etc..
If you are stepping into UI test automation do not underestimate the skill level required to build genuinely scalable and maintainable test scripts.
A common enough trap that novice test automation teams run into is believing at the outset that these things are relatively easy solutions to large scale problems. This is not true.
Try reviewing the Page Object Model pattern in Selenium for some clues as to where you are going here.
First, I'd evaluate how easy it would be to implement automation into the software under test itself. There could be political, security, privacy concerns that prevent you from doing that. If you can, building automation into the SUT itself is generally the most scalable/maintainable solution. Of course there are a large number of factors that prevent people from doing this. Most common is legacy code and the risk it takes to refactor that.
In terms of automation tool, you'll just have to try out as many tools as possible within your given time frame. Don't choose a tool simply because it's popular or it's recommended. In an agile process, you'd create a spike and spend say 2 weeks evaluating tools to narrow down to say 3 or 4 tools for the final bracket. Then use another spike, to do proof of concepts in those tools and see which ones works best. Tool selection takes a long time. But it's important you evaluate your options and choose correctly, as fighting with the tool's limitations will cost more in time than the cost of the tool will ever be.
For what you want to do during the evaluation period is try to automate the most difficult set of controls possible. Usually these will be grids and custom UIs your developers create. Those will stress how good the out of the box support, and how extensible the tools' object recognition is. If the tool cannot support your app either out of the box, or with some simple custom proxy objects, than that tools is dead to you. Once you get past that, next thing you want to evaluate is speed and ease of deployment. Ideally you want the automated tests to integrate as part of a larger process, and if the tools makes it hard to do so, it may be a large time waster. Good set of APIs, command line interface (aka CLI), and standard reporting formats aid in this.
I would say, don't get hung up on low cost or open source. Compared to your salary, the tool's expense is very little compared to your time. But that said, some tools scale up much faster than others. If 2 different tools are equal, you'll want to go with ones that have a separate runtime and developer licenses that allow you to run the tests cheaper when unsupervised.
Tool selection is rather time costly process. Don't jump into QTP, Selenium, Silk, etc... right off the bat. Depending on how your software is designed, and how your build process is designed, and how your QA / Testing process is, you may find different tools may not fit your environment the same way they fit other environments.
Thanks to all for the reply.My doubt is,is there any open source tool for automate the Test Case preparation( instead of writing the TC manually in excel sheet )for documentation purpose.
Sorry, I totally misunderstood you. I thought you were asking about record and playback tool for automating recording tests.
Originally Posted by reshmaeharish
I don't think there is an effective way to auto generate test cases. It takes a level of creativity (for a technical stand point). Of course, you should manually created test cases in your TCM tool of choice instead of Excel. Excel lacks the proper tracking for a quality manager to properly track metrics.
As for how to make the process easier, I like to use high level test cases. Then use external documents to specify examples of what should be tested as part of those high level test. This sort of has the balance of not wasting too much time with details, while allowing you to have a clear understanding of what needs to be tested when the test cases are read by different people with a decent level of product knowledge. (although this technique is bad with crowd sourced testing.)
For example, I can have a test case that simply reads:
Test that Customer Signup is Secure. (see master security tests document)
Test that Customer Signup is Robust. (see master robustness tests document)
Test that Customer Signup is UI Friendly (see master UI Friendliness tests document)
Then in the Master Security tests document, I can have a checklist of common security tests:
* SQL/Database Injection
* Check privileges are enforced
In the Master Robustness tests document, I can have...
* Perform customer signup against invalid parameters. Verify invalid inputs are handled appropriately.
* Perform operation repeated amounts of times.
* Perform operation using different supported platforms.
* Perform operation while under load.
* Examine UI layout.
- check for clipping, truncation, and that elements are not overlapping.
- check responsiveness of layout (window resize)
* Check UI is responsive (all actions produces an expected response within 1/2 a second of being activated)
In each of those master documents, you can break things up into smoke, and regression level tests. Since not each test needs to be done each time. By using external references, I can save time wasted with repeated test cases.
You try to look for urself because we dont know about supporting facility.