Review of a Cloud Based Software Test Management System

Test Management Tools are very important for effectively managing your Requirements, Test case preparation & execution and Bug reporting.

There are many Test Management Tools available on the market, a few example of which include HP Quality Center and IBM Rational Quality Manager.

HP Quality Center is sold as a web based Tool, but in order to allow users to access it from the web browser, it needs to be installed in an in-house server. Quality Center also requires installing some ActiveX controls in the Client machines.

Setting up and using HP Quality Center requires some skill. I often get requests  asking for guidance to set up Quality Center. In fact there are a number of courses on offer aimed solely at teaching people how to use Quality Center.  Additionally, the price of Quality Center used to be high.

I used to ask myself why there is no efficient Test management Tool available at an affordable price so that small startups and companies can also use them?

Recently I got to know about a Cloud Based Software Test Management Tool  called “ReQtest“. ReQtest is be provided as a SaaS service (Software as a Service).

If you are not very familiar with Cloud computing or SaaS, you can read this post. In summary, using the Cloud you will avoid the burden of installing and setting up the software or Tool and it will make updates to the software very easy.

Though Cloud based systems have many advantages, there are few things that  need to be verified before you start using Cloud based system. The important thing is a low Downtime. The latest technologies help to have almost a full uptime. Anyway, we need to make sure that Cloud based systems are using those latest technologies to avoid any Downtime. Another important thing is taking Data Backups so that we can continue our business if something unexpected happens to the Server Data. Given that ReQtest is used by big companies such as Sony Ericsson and Thomas Cook, I believe they have an excellent Server Uptime and enough Data Backup facilities.

ReQtest is seamlessly integrated into three modules for writing the requirements, writing and sharing test cases and for bug reporting.

Requirements

ReQtest makes creating and managing requirements effortless. ReQtest supports both agile and traditional development methods and makes it easy to get an overview of all your requirements.

Using ReQtest, requirements, design documents and test documents are all stored in single place,  instead of  spreading  out over different servers, e-mail, document archives etc.  Since ReQtest is web-based, it allows various stakeholders to view the requirements.

Ranking and prioritizing requirements is  a simple task in ReQtest.  We  can prioritize requirements using any kind of scale: numeric, high/low/medium, or the MoSCoW scale (Must, Should, Could and Won’t).

Test Cases

ReQtest has a test case module in which test cases can be written and assigned to testers in a team. Test cases can be easily grouped so you can follow up on results,  for example to find test cases with status OK, failed or not run.

When you create a bug report from a test case, ReQtest automatically copies information from the test case to the bug report. This makes it easy to quickly create structured, high-quality bug reports.

You can Customize the contents of forms in ReQtest to make them fit your process even better. Some of the things you can change include the contents of lists as well as adding, reordering and removing fields.

The key features of the Test Case module of the ReQtest Tool –

  • Checklists are a powerful complement to test cases, allowing you to quickly create lists of short test instructions.
  • Traceability allows you to see which requirement a test case is based on, and which bug reports are linked to a particular test case.
  • It is easy to attach files, for example design documents, use cases or screenshots.
  • Test cases can easily be e-mailed to project members or other persons

 

Since ReQtest is web based, you can share test cases with both our customers and suppliers, with different access rights for each if required.

Bug Reporting

You can easily customize the contents of forms in ReQtest to make them fit your business. You can rename, add and remove fields as well as use your own scales to describe the priority and severity of bug, for example using numeric scales, letter scales, or descriptive texts. Bug reports can easily be e-mailed to project members or other persons

Starting to use ReQtest is NOT a difficult task. ReQtest is structured in a logical manner and can be easily understood by anyone who uses a computer regularly.

ReQtest has extensive statistical functions which are particularly useful when working with requirements and test cases, especially for decision-makers at various levels.

You can choose different chart types and export charts as an image or an Excel file. The traceability matrix gives a clear summary of all the links between requirements, test cases and bug reports.

ReQtest allows the users to save Frequently Used Searches so that they can be accessed easily later.

And, ReQtest give you Free support by phone, by e-mail and remote desktop.

ReQtest offers a 10 day free trial for the Tool with full access to all features. Starting your the Free Trial is easy.

You just fill this Simple Form for getting the Free Trial. Once you submit the form, you will receive the verification link to your email. The verification link will allow you to set a password for your account and you can start using the Free Trial right away.

It seems they are providing the User Interface in two languages (English and Swedish). You need to choose your preferred language when starting the Trial. I chose “English” and started exploring the various options available in ReQtest. So far it all looks good. You can share your experience of the ReQtest trial in the comments section.

Click here to get a free 10 day trial of ReQtest.

Watch below Video giving overview of ReQtest.



Software Testing Resources (WebSites,Blogs,and Forums)

Find below the collection of useful websites, Blogs and Forums for learning Software Testing. Let us know if you want to add any other useful Software Testing Resource in this list.

And, you can mention your favorite Software testing related website thro’ the comments section. We will rearrange the order of this list based on comments. i-e We will keep the the website which receives most number of positive comments.

  1. SQA Forums – This is the very useful Forum for learning Software Testing and for learning Software Testing Tools especially QTP (Quick Test Professional). Mostly, you will get appropriate solution/answer for your problem/questions within few days if you post your questions in this Forum. Personally, I had used this Forum effectively to learn QTP many years back. I think this Forum is available for more than a decade. Previously it was known as qaforum.com
  2. JAMES BACH’S BLOG This blog is having lot of interesting software testing related posts starting from year 2003. James Bach is one of the Authors of the book titled “Lessons Learned in Software Testing”
  3. LinkedIn Discussions LinkedIn is having lot of Software Testing Related Groups. We can join the desired Groups and we can participate in the Software Testing related Discussions and we can start our own discussion also. Apart from these Groups, LinkedIn is having Answers section which will allow us to ask our questions.
  4. Google Testing Blog – This Google blog explains the Testing processes followed within Google.
  5. QualityPoint Blog – This blog is written by myself. I had written an eBook about Software Testing and QTP automation. Mostly my articles will be telling more about practical approaches of Software Testing. Because, I work as Developer also apart from being a Tester. And, I am doing Business also now. So, my main focus will be doing Software Testing in a way to help Developers and Business (Obviously it should help the End Users)
  6. Agile Testing – Thoughts on testing and systems infrastructure with an agile, mostly Pythonic, twist
  7. Martinfowler This blogs speaks more about effective Software Developments and Agile methods to improve productivity.
  8. Cem Kaner’s Blog – He is one of the authors of the book titled “Lessons Learned in Software Testing”
  9. Misko Hevery – He writes about writing Testable Code
  10. Develop Sense – Michael Bolton writes about how to do excellent software testing in a way that is very fast, inexpensive, credible, and accountable.
  11. Sara Ford’s Weblog – Former Microsoft employee writes about combining agile methodologies with community management to provide the best user experience possible for websites
  12. Association for Software Testing – AST is dedicated to advancing the understanding of the science and practice of software testing according to context-driven principles.
  13. IT Knowledge Exchange
  14. GOJKO ADZIC
  15. Thinking Tester– This blog provides information about software testing.
  16. Chris McMahon’sblog
  17. JW on Test
  18. Software Testing Help
  19. Corey Goldberg
  20. Testertested
  21. Steve Rowe’s Blog
  22. Exploration Through Example
  23. Test this Blog
  24. Expected Results
  25. QA Intelligence– This is a Testing & QA Management blog.
  26. Adam Goucher
  27. Stevesouders.com
  28. QA Hates You
  29. Curioustester
  30. Stefan Thelenius about Software Testing
  31. Testledaren.se
  32. Relevantcodes.com
  33. I.M.TESTY
  34. Automated Chaos
  35. Software Testing Hotlist
  36. Practical QA
  37. ABAKAS
  38. Tooth of the Weasel
  39. Test Obsessed
  40. Quality Frog
  41. Testing Hotlist Update
  42. Collaborative Software Testing
  43. Eric Jarvi
  44. Test Guide
  45. Testy Redhead
  46. Software testing zone
  47. Marlena’s Blog
  48. Software Testing and more
  49. patrickwilsonwelsh.com
  50. Quality Assurance and Software Testing
  51. Testing Testing 1,2,3
  52. Mike Kelly’s blog
  53. Enjoy testing
  54. Evil Tester
  55. Charlie Audritsh’s blog
  56. Maverick Tester
  57. Paul Gerrard’s blog
  58. shino.de
  59. Cartoon Tester
  60. cLabs Blogki
  61. Jeff Fry on Testing
  62. Venkat’s Blog
  63. Agile Testing and Process Thoughts
  64. Software Testing Stuff
  65. selenadelesie.com
  66. Software Sleuthing
  67. The Software Quality Blog
  68. One of the wolves
  69. Musing about Software Testing
  70. Jon Bach’s blog– Jon Bach’s blog, highlighting the humanity in software testing
  71. Quardev
  72. Software Testing Club Blog
  73. TestToTester
  74. Agile Testing with Lisa Crispin
  75. Confessions of a Passionate Tester
  76. I am filled with solutions
  77. Software Testing
  78. Rosie Land
  79. Still Life– This blog is about testing, work, random thoughts, automation and scripting.
  80. Brian Osman
  81. Dhanasekar S’s Blog
  82. The Social Tester
  83. QA Insight
  84. The Testing Blog
  85. Testingminded
  86. Swgetesting
  87. Jeroen’s world of Software Testing
  88. TestingPerspective
  89. Adam White
  90. Purple Box Testing-It gives some brief information to Testing terms like Bugs,Test Cases,Manual Testing,Automation,Tools and Test management.
  91. Lessons Learned by a Software Tester
  92. Pliant Alliance
  93. Testjutsu
  94. Illiteration
  95. Tester Testifies
  96. Santhosh Tuppad’s Blog
  97. Teknologika
  98. Creative Tester
  99. Tester Troubles
  100. Thoughts on QA and Engineering-This blog contains information of about Software Quality,Testing,Quality Assurance and Engineering in general.
  101. Quick Testing Tips
  102. Cruisin QA
  103. Tester Lost Focus
  104. James McCaffrey’s blog-This  blog explains the Software Research, Development, and Testing.James McCaffrey is an author of .NET Test Automation Recipes and Software Testing.

Software Testing Questions and Answers

Find the answers at the end of the questions.

1) The approach/document used to make sure all the requirements are covered when writing test cases
a) Test Matrix b) Checklist c) Test bed d) Traceability Matrix


2) Executing the same test case by giving the number of inputs on same build called as a) Regression Testing b) ReTesting c) Ad hoc Testing d) Sanity Testing


3) Control Charts is a statistical technique to assess, monitor, and maintain the stability of a process. a) True b) False


4) To check whether we are developing the right product according to the customer requirements are not. It is a static process a) Validation b) Verification c) Quality Assurance d) Quality Control


5) To check whether we have developed the product according to the customer requirements r not. It is a Dynamic process. a) Validation b) Verification c) Quality Assurance d) Quality Control


6) Staff development plan describes how the skills and experience of the project team members will be developed. a) True b) False


7) It is a set of levels that defines a testing maturity hierarchy a) TIM (Testing Improving Model) b) TMM (Testing Maturity Model) c) TQM(Total Quality Management)


8) A Non-Functional Software testing done to check if the user interface is easy to use and understand a) Usability Testing b) Security Testing c) Unit testing d) Block Box Testing


9) The review and approved document (i.e. Test plan, System Requirement Specification’s) is called as a) Delivery Document b) Baseline Document c) Checklist


10) What are the Testing Levels? a) Unit Testing b) Integration Testing c) System Testing and Acceptance Testing. d) All the above


11) Cost of quality = Prevention Cost + Appraisal cost + Failure cost a) True b) False


12) A useful tool to visualize, clarify, link, identify, and classify possible cause of a problem. This is also called as “fishbone diagram” what is this? a) Pareto Analysis b) Cause-and-Effect Diagram


13) It measures the quality of processes used to create a quality product.
It is a system of management activities,
It is a preventive process, It applies for entire life cycle & Deals with Process. a) Validation b) Verification c) Quality Assurance d) Quality Control


14) Variance from product specifications is called? a) Report b) Requirement c) Defect


15) Verification is
a) Process based b) Product based


16) White box testing is not called as___________
a) Glass box testing b) Closed box testing c) Open box testing d) Clear box testing


17) Name the events that will be analyzed, Count the named incidents, Rank the count by frequency using a bar chart & Validate reasonableness of the analysis is called as a) Pareto Analysis b) Cause and Effect Diagram c) SWOT Analysis d) Pie Charts


18) Retesting of a single program or component after a change has been made? a) Full Regression Testing b) Unit Regression c) Regional Regression d) Retesting


19) Requirement and Analysis, Design, Development or Coding, Testing and Maintenance is called as Software Development Life Cycle (SDLC ) a) True b) False


20) The testing which is done by going thro’ the code is known as,
a) Unit Testing b) Blackbox testing c) White box Testing d) Regression testing


21) Configuration Management Plan describes the Configuration Management procedures and structures to be used. a) True b) False


22)This type of testing method attempts to find incorrect or missing functions, errors in data structures or external database access, interface errors, Performance errors and initialization and Termination errors. It is called as a) White Box Testing b) Grey Box Testing c) Black Box Testing d) Open Box Testing


23) Phase Definition. It will come under a) CMM Level 1 b) CMM Level 2 c) None


24) Software testing which is done without planning and Documentation is known as
a) adHoc Testing b) Unit Testing c) Regression testing d) Functional testing.


25) Acceptance testing is known as
a) Beta Testing b) Greybox testing c) Test Automation d) White box testing


26) Retesting the entire application after a change has been made called as? a) Full Regression Testing b) Unit Regression c) Regional Regression d) Retesting


27) Boundary value analysis belongs to which testing method?
a) Black Box testing b) White Box testing


28) It measures the quality of a product
It is a specific part of the QA procedure, It is a corrective process,
It applies for particular product & Deals with the product. a) Validation b) Verification c) Quality Assurance d) Quality Control


29) What are the Types of Integration Testing? a) Big Bang Testing b) Bottom Up Testing c) Top Down Testing d) All the above


30) Product Risk affects The quality or performance of the software. a) True b) False


31) A metric used to measure the characteristic of documentation and code called as a) Process metric b) Product Metric c) Test metrics


32) Which is non-functional software testing?
a) Unit Testing b) Block box testing c) Performance Testing d) Regression


33) The process that deals with the technical and management issues of software development called as? a) Delivery Process b) Testing Process c) Software Process


34) Executing the same test case on a modified build called as a) Regression Testing b) Retesting c) Ad hoc Testing d) Sanity Testing


35) Which is Black-Box Testing method?
a) equivalence partitioning b) code coverage c) fault injection


36) Business Risk affects The Organization developing or Procuring the software. a) True b) False


37) Stratification is a Technique used to analyze/divide a universe of data into homogeneous groups (strata). a) True b) False


38) Automation Testing should be done before starting Manual testing.

Is the above statement correct?
a) Yes b) No


39) Earlier a defect is found the cheaper it is to fix it.

Is the above statement correct? a) Yes b) No


40) Informing to the developer which bug to be fix first is called as a) Severity b) Priority c) Fix ability d) Traceability


41) Software Testing is a process of evaluating a system by manual or automatic means and verify that it satisfies specified requirements or identity differences between expected and actual results. a) True b) False


42) Retesting modules connected to the program or component after a change has been made? a) Full Regression Testing b) Unit Regression c) Regional Regression d) Retesting.


43) An Important metric is the number of defects found in internal testing compared to the defects found in customer tests, Status of test activities against the plan, Test coverage achieved so far, comes under a) Process Metric b) Product Metric c) Test Metric


44) Alpha testing will be done at,
a) User’s site b) Developers’ site


45) SPICE Means a) Software Process Improvement and Capability Determination b) Software Process Improvement and Compatibility Determination. c) Software Process Invention and Compatibility Determination. d) Software Process Improvement and Control Determination


46) Requirements Specification, Planning, Test case Design, Execution,
Bug Reporting & Maintenance This Life Cycle comes Under a) SDLC b) STLC c) SQLC d) BLC


47) It provides a set of levels and an assessment model, and presents a set of recommended practices that allow organizations to improve their testing processes. a) TIM (Testing Improving Model) b) TMM (Testing Maturity Model) c) TQM(Total Quality Management)


48) Standards and procedures for managing changes in an evolving software product is called? a) Confirmation Management b) Confederation Mangement c) Configuration Management d) Compartability Management


49) Path Tested = Number of Path Tested / Total Number of Paths a) True b) False


50) This Testing Technique examines the basic program structure and it derives the test data from the program logic; Ensuring that all statements and conditions executed at least once. It is called as a) Block box Testing b) White box Testing c) Grey Box Testing d) Closed Box Testing


51) This type of test include, how well the user will be able to understand and interact with the system? a) Usability Testing b) User Acceptance Testing c) Alpha Testing d) Beta Testing.


52) Defects generally fall into the following categories? a) WRONG b) MISSING c) EXTRA d) All the above


53) What is correct Software Process Cycle? a) Plan(P)——>Check(C)——>Act(A)—–>Do(D) b) Plan(P)——>Do(D)——>Check(C)—–>Act(A) c) Plan(P)——>Do(D)——>Act(A)—–>Check(C)


54) Conducted to validate that the application, database, and network they may be running on can handle projected volumes of users and data effectively. The test is conducted jointly by developers, testers, DBA’s and network associates after the system Testing called as a) Functional Testing b) Stress/Load Testing c) Recovery Testing d) Integration Testing


55) Maintenance Plan predicts the maintenance requirements of the system, maintenance costs and effort required a) True b) False


56) Beta testing will be done by
a) Developer b) User c) Tester


57) Validation plan describes the approach, resources and schedule used for system validation a) True b) False


58) Integration, It will come under a) CMM Level 1 b) CMM Level 3 c) CMM Level 2 d) None


59) Types of quality tools are Problem Identification Tools and Problem Analysis Tools. a) True b) False


60) Which Software Development Life cycle model will require to start Testing Activities when starting development activities itself
a) Water falls model b) Spiral Model c) V-model d) Linear model


61) A metric used to measure the characteristic of the methods, Techniques and tools employed in developing, implementing and maintaining the software system called as a) Process metric b) Product Metric c) Test metrics


62) Check Sheet(Checklist) is considered a simple , but powerful statistical tool because it differentiates between two extremes. a) True b) False


63) Application should be stable. Clear Design and Flow of the application is needed for Automation testing. a) False b) True


64) Quality plan describes the quality procedures and standards that will be used in a project. a) False b) True


65) How severely the bug is effecting the application is called as a) Severity b) Priority c) Fix ability d) Traceability


66) Project Risk affects The Schedule or Resources. a) True b) False


67) The name of the testing which is done to make sure the existing features are not affected by new changes
a) Recursive testing b) Whitebox testing c) Unit testing d) Regression testing


68) Management and Measurement, It will come under a) CMM Level 1 b) CMM Level 3 c) CMM Level 4 d) CMM Level 2


69) AdHoc testing is a part of
a) Unit Testing b) Regression Tesing c) Exploratory Testing d) Performance Testing


70) Cost of Production = Right The First time cost(RTF) + Cost of Quality. a) True b) False


71) ————- means under what test environment(Hardware, software set up) the application will run smoothly a) Test Bed b) Checkpoint c) Code Walk through d) Checklist


72) TQM represents
a) Tool Quality Management b) Test Quality Manager c) Total Quality Management d) Total Quality Manager


73) Optimization, Defect Prevention, and Quality Control. Its come under the a) CMM Level 2 b) CMM Level 3 c) CMM Level 4 d) CMM Level5


74) Unit Testing will be done by
a) Testers b) End Users c) Customer d) Developers


75) Beta testing will be done at
a) User place b) Developers place


76) A Plan to overcome the risk called as a) Migration Plan b) Master plan c) Maintenance plan d) Mitigation Plan


77) Splitting project into tasks and estimate time and resources required to complete each task called as Project Scheduling a) True b) False


Answers


(1) d (2) b (3) a (4) b (5) a (6) a (7) b (8) a (9) b (10) d (11) a (12) b (13) c (14) c (15) a (16) b (17) a (18) b (19) a (20) c (21) a (22) c (23) b (24) a (25) a (26) a (27) a (28) d (29) d (30) a (31) b (32) c (33) c (34) a (35) a (36) a (37) a (38) b (39) a (40) b (41) a (42) c (43) c (44) b (45) a (46) b (47) a (48) c (49) a (50) b (51) a (52) d (53) b (54) b (55) a (56) b (57) a (58) b (59) a (60) c (61) a (62) a (63) b (64) b (65) a (66) a (67) d (68) c (69) c (70) a (71) a (72) c (73) d (74) d (75) a (76) d (77) a

The need for having development/programming knowledge for Software Testers

In this Chapter, I am going to write about the need for having basic development knowledge for Software Testers.
I have worked as both Programmer and Software Tester. So, I think I will be the appropriate person for writing this Chapter.

When I worked as Programmer/developer, I used to see many Software Testers who used to create poor test strategy due to their poor programming knowledge.
And, it may be difficult to set up proper test environment without having proper programming knowledge.

Assume that a Software Tester is going to test a Web application. If something goes wrong while doing his testing, he should be able to report the issue clearly by mentioning whether the error is happening from client (i-e browser) side, network connection or server side. It will help the developers to fix the issues quickly.

For doing this narrow down, the Testers should know what is Client (webbrowser), how the server works and how internet is working.

He should know how to see the client side error messages displayed by various browsers.
Reproducing the issue also need some kind of development knowledge.

Being familiar with SQL and handling databases will help to test back end part of the web application. It will help to load some prerequisite data also to save testing time.

Test data collection task can be done easily if the Testers know little bit programming.

The recent Agile development model is trying to reduce the gap between Software Development and Software Testing.

So, I believe everyone will agree that it is very important to have programming knowledge if you are going to be a Software Tester.
Now, we can see how we can give basic programming knowledge to the Software Testers.

– Development Team can arrange session for giving overview about the development for the Software Testers.
– Software testers can start reading very basics of programming and web development from w3schools.com
– Testers can participate in code review meetings.

Ok. This Chapter has explained the importance of having programming knowledge for the Software Testers. Similarly, it is important to have Software Testing knowledge for the programmers.

 And, if your company is going to implement Test driven development, then it is important to have close interaction with the Development Team. This interaction will be effective only if the Software Testers are having some fundamental programming knowledge.

QTP Questions and Answers

Find the answers at the end of the questions.

1) Quick Test Professional (QTP) is used as,
a) Functional Testing tool b) Performance Testing tool c) Usability Testing tool d) Bug tracking tool


2) The below vbscript code is used for,

Set qtApp = CreateObject(“QuickTest.Application”)
qtApp.Launch
qtApp.Visible = True

a) For launching Function Generator b) For opening QTP using Automation Object Model c) For creating Object Repository from Coding d) For making ActiveScreen visible


3) Extension of vbscript  function library file is,
a) .vbs b) .mtr c) .lib d) .qtp


4) Which one of the below is External add-in in QTP?

a) ActiveX add-in b) Visual Basic add-in c) Java add-in d) Web add-in


5) Which is used to add report statements in QTP report file?
a) showreport b) reporter.writeline c) reporter.reportEvent d) printReport


6) In QTP, properties of Test Objects are stored in
a) ObjectSpy b) Active Screen c) Object Repository d) Library


7) Which is used for storing Data used by Test Iterations in QTP?
a) Local sheet b) Global Sheet c) Action Sheet d) Object Repository


8) Which view will allow us to edit the vbscript code in QTP?
a) Keyword view b) Expert View c) code view d) view source


9) The Test Management Tool which can be easily integrated with QTP is,
a) Test Track b) Bugzilla c) Object Repository d) Quality Center


10) Which is used for storing Data used by Action Iteration in QTP?
a) Local sheet b) Global Sheet c) Object Repository d) External Action


11) Outcome of the below QTP code (vbscript) is,

Set obj = CreateObject("WScript.Shell")

sCmnd = "%windir%\SYSTEM32\rundll32.exe user32.dll,LockWorkStation"
obj.Run sCmnd, 0, False

a) Runtime error b) Computer will be locked automatically. c) Computer will be unlocked d) will throw syntax error


12) Which is used for verifying whether the Actual result matches with expected result in QTP?
a) ObjectSpy b) Object respository c) Checkpoints d) Expert view


13) Which is built-in add-in QTP?
a) TE add-in b) java add-in c) web add-in d) .net add-in


14) Setting in one instance of QTP IDE can be transferred to another machine using,
a) Data driver b) Function Generator c) Step Generator d) Automation Object Model


Answers


(1) a  (2) b  (3) a  (4) c  (5) c  (6) c  (7) b  (8) b  (9) d  (10) a  (11) b  (12) c  (13) c  (14) d

Wish list for the QTP future release.

We can not say that QTP is a complete Tool even when it has crossed lot of releases.  This is due to the fact that Test automation tools are complex to develop.

So, members of a Testing group had a discussion about things that need to be done in coming releases of QTP. I have mentioned below requirement in this discussion.

Allow QTP Script execution while minimizing it so that we need not have separate machine for test script execution.

Find below the requirements collected from others during this discussion. Most of the people want to have the ability for opening multiple tests at a time.

  • Provide better support for Ajax
  • Provide better support for remote test execution from Quality Center
  • A way to inherit test/action resources.
  • Better browser support. Support for non-IE browsers such as Chrome and Safari
  • Need easy license management
  • A better coding/IDE environment with better intellisense, code folding, better debugging (ability to see object contents)..
  • Better version control. Being able to check out previous versions of a test.
  • Shared code libraries in QC. i-e ability to save in a common library share that all projects could use.
  • Use an object orientated scripting language instead of or in addition to VB script
  • Embed the object spy in the browser similar to firebug for firefox
  • Ability to replace object repository with other repositories such as MySql Database
  • Reduce the cost. Selenium is evolving and is eating up market share because its free
  • Scripts should be able to run on a locked computer.
  • Add ability to right click on web browser object to spy on it
  • Ability to open more than 1 script at a time
  • User should be able to attach encoded functional library (I.e. .vbe extension file).
  • Ability to “pause” a run in order to edit a script during execution of multiple iterations
  • Support for FLASH/FLEX Applications.
  • Expose runtime engine as an API so we can start using languages other than VBScript.
  • Simple and cleaner uninstall process
  • Improved support for distributed parallel scalable execution (cloud/VM) with reporting concatenation.
  • Enhanced function libraries especially database operations
  • More descriptive error messages rather than “Generic Error” message.
  • User should be allowed to Export selected portions of Reports
  • Ability to see the partial report when the script execution continues

QTP Interview Questions and Answers

This Chapter will be useful if you are in a position to start any Software Testing automation project.

In this Chapter I am going to write about selecting appropriate candidate for your Team if you are going to Automate your testing activities using a tool QTP (Quick Test Professional)

First, we can start with short listing resumes of suitable candidates.

Basically QTP is just a Tool. Your Team members can be trained in this Tool easily if they meet some prerequisites (e.g knowledge about Software Testing Concepts and programming fundamental knowledge).

So, it is not necessary to short list the candidates with prior work experience with QTP unless you want a Team member who needs to start work on QTP script creation from day one of joining your Team.

But, give priority to the knowledge and/or work experience in any kind of Software Testing.i-e Having hands-on with manual testing is a big plus for the Automation tester.

And, you can choose the profiles with knowledge/experience in some other automation test tool also. It will help them learn QTP quickly.Candidates with vbscript knowledge/experience can learn QTP fast.

Vbscript is used in ASP (Active server pages). So, you can consider ASP developers also for your QTP automation Team.

If you are going to create your Automation Team from scratch, at least you should have one resource (Assume “Team Lead”) with good experience in QTP. His experience should include creating appropriate automation framework and should be expert in handling any object recognition issues.

If you are not having such a person to handle any object recognition related issue, it will be difficult to complete the project even if you have good team members to create scripts.

Now, we can discuss about selecting your “Team Lead” and other members.
First we will start with doing interview for your “Team Lead” position in the QTP automation project. (I mean to say the project which involves automating the functional and regression testing activities using the QTP tool)

Ask the candidate about handling Object repository.

Ask him to explain any QTP object recognition related challenges he faced during his previous projects. And, ask him to explain how he had solved those issues.(Anyone who worked in any QTP automation project should have faced such an issue)

Ask the candidate to explain about his understanding about Automation Framework.

Ask him how he will deliver the QTP script to production environment from the development environment. In other words, try to get details about his understanding about AOM (Automation Object Model).

Ask him to explain about his understanding about COM objects and ask him whether he has handled any COM based application ( e.g xcel, internet explorer, fso,etc) from QTP script.

Ask him about his approach to split any task to be given to the Team members. His answers should reflect his understanding about proper use of Shared object repository.

Ask few questions which can help to reveal his understanding and approach of Configuration management in QTP script development environment.

You may ask few questions which can test his thinking about script maintenance.

Apart from QTP knowledge, you can ask some questions for knowing about his basic knowledge in other test automation tools. It will be required for tool evaluation to start any new project. And, it will be useful when doing any migration project.
For example, having some basic knowledge in winrunner will be helpful if you are going to convert winrunner scripts into QTP scripts.

Ask him to explain about integrating the QC (Quality Center) with QTP.

Test his knowledge about Database connection with QTP. At least he should be familiar with ADODB, connection string and recordsets. And, he should be familiar with basic SQL queries also.

In case of interviewing Team member, just check his knowledge in Software Testing concepts and knowledge in any programming knowledge. You can ask him about SDLC.
Ask him to explain about various checkpoints, data driven testing, expert view/keyword view, regular expression and recovery scenario in case he had learnt QTP previously.

Find below the collection of common interview questions related to QTP.It will be useful for the people who are searching job as Automation test engineer.

Explain about Object Repository in QTP?
Object Repository is the centralized place for storing the Properties of objects available in AUT (Application Under Test). Click here for the detailed Answer.

What are the two different Types of Object Repositories available in QTP?
Local Object Repository and Shared Object Repository. More details…

What Descriptive Programming and what are the advantages of using Descriptive programming in QTP?
Instead of using Object Repository for storing properties of Test objects, we can straight-away define the properties while writing the script itself using DP. Using Descriptive programming we can start work on writing QTP scripts even before the application under Test is NOT available. More details…

What are the disadvantages of Descriptive Programming in QTP?
The main disadvantage of Descriptive programming is Maintenance issue. More details…

What is framework in QTP?
Framework is nothing but a way or approach of designing the automation scripts. QTP uses various frameworks such as Key Word Driven Testing and Data-driven Testing.
More details…

How will you get evaluation version of QTP?
We can get 14 days trial version of QTP from HP site. More details…

What are the various settings/options available in QTP? And, explain the purpose/scope of them?
Some setting in QTP are specific to Tests and some setting are specific to the IDE. More Details…

How will you set the QTP script to start run at specified time?
We can use AOM (Automation Object Model) for creating the vbscript which can be put in windows scheduler for running the QTP script at specified time. More details…

Tell the difference between Action Iteration and Test Iteration in QTP?
Action iterations will be nested within the Test iteration. Action iteration will use the data from local data sheet and the Test Iteration will use the data from Global sheet of the data table. More details…

How will you automate the testing of .NET application which uses thrid-party UI component such as Infragistic netAdvantage?
We should extend capability of .net add-in by using TestAdvantage More details…

How to handle Passwords in QTP Scripts?
We can encrypt the password using password encoder utility provided by QTP. SetSecure method can handle this encodeded password. More details…

What are the steps/processes involved in QTP automation?
Creating scripts, enhancing scripts, debugging, run script, analyze the results and report the defects. More details…

List some best practices need to be followed while doing QTP automation?
We need to use Shared Object repositories and need to use synchronization point wherever it is required. More details…

What is Object Spy in QTP? And, how to use it?
Object Spy is used for seeing properties and methods of any object in an open application. We can see the properties just by pointing the mouse pointer on the object once after clicking the hand symbol button in the Object Spy Dialog. More details…

How to use Object Spy if the required object is not visible (i-e window of the the object is not active)?
Maximize the window or bring it into the top active window while holding Ctl key after clicking the hand symbol button pointer in the Object Spy dialog box. Once the object is visible, release the Ctl key to use the object spy functionality.

How will you read the Test Object property using scripting?
We can use the “GetTOProperty” method.

What is the use of GetTOProperties method?
This method will be used for getting all the properties and their values of a Test Object.

Which QTP method can be used to get the value of an object property during runtime?
GetROProperty

Will SetTOProperty method make any change in the Object Repository?
No, it won’t make any change in the Object Repository. It will just affect the way QTP identifies the object during runtime.

Is it possible to read all the RO properties of a Object?
QTP is not having any built-in method for reading all the RP properties of an Object. But we can write simple script for reading all the properties from windows registry and then get the value of each property using the GetROproperty method. More details…

Why we need to automate the software testing using the tools such as QTP?
Automation will avoid human related errors and it can improve the test execution speed also.More details…

Is it possible to automate all the test cases?
No, it is not possible to automate all the test cases. We need to pick the test cases that can be automated.

Tell me about your understanding about QTP?
QTP is a functional and regression test automation tool. It uses vbscript. It can be easily integrated with Quality Center as both are HP products. It supports data driven testing and keyword driven testing. The add-in concept supports various applications such as web, vb, activex, java, TE, and dotNet. More details…

Explain QTP Testing process?
QTP Testing involves Creating your test plan, Recording a session on your application ,Enhancing your test,Debugging your test ,Running your test on a new version of your application, Analyzing the test results and Reporting defects.Read more details…

Tips for doing effective QTP script Development

  1. Read the Requirements completely and repeatedly till understanding it clearly without any ambiguity. It is better to create own automation testcase/requirement based on the manual test cases or business requirement document.
  2. Highlight or make note of key requirements in the requirement document. And, highlight the points that are difficult to understand.
  3. Don’t hesitate to approach the developer/customer/client if you need any clarification in the requirement and also don’t hesitate to inform if any of the requirements is unrealistic. Prepare a list of requirements or test cases which can not be automated.
  4. QTP Script development Team also should participate in the requirement analysis before starting any application development activity. QTP team can give suggestions (e.g giving unique name/id for each window so that object identification problem can be avoided when creating QTP scripts) for the application development Team for improving effectiveness of the QTP script development.
  5. Start working on coding/scripting part only after getting clear understanding of the overall Design of the system
  6. Enforce Review and Walk Through Activities.
  7. Try to setup Development Environment similar to production environment. Otherwise you will face lot of difficulties while running the QTP script against the production application once after completing your script development using development/testing application.
  1. Do unit testing immediately after developing each small functionality.
  2. Give updates of the progress to the client/customer frequently. If you are facing any difficulty/issue remember to specify in the updates.
  3. Make list of things that will vary from Development Environment and Production environment
  4. Prepare a user guide document and deliver it along with code.

 

QTP methods and script for reading object properties

In the previous Chapter, I had written about Object Spy.

For using Object Spy, we need to point the Object Spy pointer on the Object.
i-e We can read the properties manually only. And it can be done in the design time only.
In this post, I am going to write about reading the properties of any Object in the application using scripting (i-e programmatically in run-time)

QTP is having below methods.

GetTOProperty– This method returns the value of the property from the test object’s description, i.e., the value used by QTP to identify the object. In other words the list of properties stored the Object Repository. If the property is not part of the test object’s description, a warning will be issued by QTP.

GetTOProperties – This method is similar to GetTOProperty, but it will list all/collection of properties and their values.

It can be used as below to get all the Test Object properties and their values in “Submit” button of “Login” window in a vb application.

Set theTestObject = VbWindow(“Login”).VbButton(“Submit”)

Set Props = theTestObject.GetTOProperties

PropsCount = Props.Count

For i = 0 To PropsCount – 1

PropName = Props(i).Name

PropValue = Props(i).Value

MsgBox PropName & ” = ” & PropValue

Next

Set theTestObject = VbWindow(“Login”).VbButton(“Submit”)
Set Props = theTestObject.GetTOProperties
PropsCount = Props.Count
For i = 0 To PropsCount – 1
PropName = Props(i).Name
PropValue = Props(i).Value
MsgBox PropName & ” = ” & PropValue
Next

GetROProperty – It will be used to get the value of an object property during runtime, such as the current list/combo item selection, page title, or the text in a WebEdit, or the size (width & height) of an object.

SetTOProperty changes the value of a test object property. Changing the property won’t make any change in the Object Repository, but it will just affect the way QTP identifies the object during runtime. Actually, this changes the properties of the temporary copy of the object stored in RAM by QTP.

i-e QTP is having the methods GetTOProperty,GetTOProperties and SetTOProperty for handing Test Objects.

And, it is having SetTOProperty method for handing Run-time object.
Obviously it can not have method SetROproperty, because QTP script should not change the actual objects (But still we can do it using “Object”. I will write a separate post about it later)

But it can have a method something like getROproperties. As of now, QTP is not having such a method.

So, we can read all RO properties from windows registry.
For example, below piece of code can read the name of properties for “Page” object from the registry.

Const HKEY_LOCAL_MACHINE = &H80000002

Set oReg = GetObject(“winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv”)

SKeyPath = “SOFTWARE\Mercury Interactive\QuickTest Professional\MicTest\Test Objects\page\Properties”

oReg.EnumValues HKEY_LOCAL_MACHINE, sKeyPath, arrNames

sNames = “List of Properties:” & vbNewLine

For i = 0 to UBound(arrNames)

sNames = sNames & arrNames(i) & vbNewLine

Next

Const HKEY_LOCAL_MACHINE = &H80000002
Set oReg = GetObject(“winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv”)
sKeyPath = “SOFTWARE\Mercury Interactive\QuickTest Professional\MicTest\Test Objects\page\Properties”
oReg.EnumValues HKEY_LOCAL_MACHINE, sKeyPath, arrNames
sNames = “List of Properties:” & vbNewLine
For i = 0 to UBound(arrNames)
sNames = sNames & arrNames(i) & vbNewLine
Next

After reading the properties, the script can read each property name from the array “arrNames” and get the run-time object value using GetROproperty method.You can refer below piece of code.

Set TestPage = Browser(“Google”).Page(“qualitypoint”)

For i = 0 to UBound(arrNames)

sNamesRO = sNamesRO & arrNames(i) & “: ” & TestPage.GetROProperty(arrNames(i)) & vbNewLine

Next

MsgBox sNamesRO

Descriptive Programming in QTP

Instead of using Object Repository for storing properties of Test objects, we can straight-away define the properties while writing the script itself.

It can be done in two ways.

One is, by giving the description in form of the string arguments.

For example a text box having html code as <input type=”text” name=”txtUser”> can be accessed as below.

Browser(“Browser”).Page(“Page”).WebEdit(“Name:=txtUser”,”html tag:=INPUT”).set “QualityPoint”.

The other way is using Decription.create as below.

Set objDesc = Description.Create

objDesc(“html tag”).value= “INPUT”

objDesc(“name”).value= “txtUser”

Browser(“Browser”).Page(“Page”).WebEdit(objDesc).set “QualityPoint”.

This Descriptive approach is having some short-comings.

The main disadvantage of Descriptive programming is Maintenance issue.
Since Object repository will be stored in centralized place, property definition for any Object can be easily changed at any time if the application developer changes the property of the actual object/control.

But, in descriptive programming (DP) it is difficult to change the object property as each QTP developer will be defining object property in many places using DP.

For example, assume that you and team member are developing automation test scripts for testing gmail application.
Gmail login script will be used in many test scenarios.

Assume that you are automating some scenarios and your team member is automating some other scenarios.
In case of Object Repository, you and your team member will be forced to use same object description for login page controls/Objects (e.g username, password, login button).

So in future if Google changes any property (e.g change the button name from “login” to “get into gmail”), all the scenarios can be easily updated just by updating this change in Object repository.

But in case of DP, there is a possibility of defining the login button in multiple places. One definition by you and another by your team. (Anyway proper Team Coordination will avoid this issue, but practically it is very difficult to achieve this coordination.).

So, comparatively updating DP style coding is bit difficult if the application properties got changed.

Anyway, Descriptive programming is having its own advantages as mentioned below.

1. We can start work on writing QTP scripts even before the application under Test is NOT available. It will help to increase the utilization of the Automation scripts as it will be immediately available once the application gets released.

2. We can define the properties of an object without considering the parent objects in the hierarchy. i-e Object identification will not depend on its parent object.