Custom Search

What is UFT - Unified Functional Testing ??

What is UFT - Unified Functional Testing ??


HP is now selling a new tool license called UFT which is nothing but QTP 11.0 (for GUI testing) and Service test (for non GUI testing) under one umbrella.


If you try to download the tool from HP's website you would be downloading nothing but QTP 11.0!!
They also have a website which is "http://unifiedfunctionaltesting.com/" which is under construction :-)

You can download their brochure about the tool from here , which says that they are targeting at multiple layers of an application from one single place.

Layers of Application are 
  1. Business Process Testing
  2. Application level / GUI testing
  3. Headless layer / Web services testing / Java/JMS or .NET API
Hope this tool is much more than a gimmick by HP to sell a new license..

Are Testers to Blame for Missed Deadlines?

Are Testers to Blame for Missed Deadlines?



In the world of software development, there are a number of reasons why a project might fall behind schedule. It could be an absurd, last-minute requirement from the customer. It could be a massive, unexpected reduction in your company's workforce. It could be that a giant monster destroyed your Sim City industrial park. But if you ask a dev manager in Europe, they're likely to tell you that deadlines are missed due to out-dated testing methods.


A company called CA Technologies interviewed 301 in-house development managers (an odd number, yes?) from the UK, France and Germany. Of those people, more than half (56%) said that "their IT department's reputation had been tarnished because of issues relating to 'out-dated' application development and testing methods."


Here's PCAdvisor with some of the specific details:

While 59 percent of UK respondents cited quality and time-to-market on  integration testing as a major challenge, it was lower (48 percent) across all  three countries. In the UK, 41 percent had issues with performance testing  compared to 32 percent overall.

A prominent factor in the UK element of the research was the sheer number of  releases expected to be delivered, with 41 percent of UK respondents stating  they had to bring out ten or more releases a year. This compares to just 26  percent of respondents in France, the next nearest country.

Outdated application development and testing is having a major impact on UK  enterprises, with 76 percent of respondents sighting loss of reputation in the market as a major concern. Furthermore, 67 percent were worried about reduced application functionality negatively impacting customer experience.

Almost half of all UK respondents (48 percent) are now already looking to move towards cloud-based development environments and 46 percent to agile development methods.


So will Agile cure what ails them? Last week, we started a good debate on the costs (and benefits) of switching to Agile. One of the more insightful comments came from Mike Koepke, who wrote:




"(With agile) we are much better able to accurately estimate and complete our work in 3-week chunks rather than 3-, 6- or 9-month segments.  We still do long range release planning, but by completing deliverable code every sprint, we remain "agile" with respect to the scope of what gets delivered when we hit hard release dates.  The key to making this work is having full buy-in by our product managers, who are active members of our scrum teams."


What do you think? Are outdated testing practices to blame for missed deadlines? And is Agile the solution? Sound off in the comments section.

Test Automation Architect

Test Automation Architect


Primary Purpose: 
Top level technical expert with extensive business knowledge responsible for supporting a major application or suite of applications within an IT Section 
  
Essential Duties and Responsibilities: 
Following is a summary of the essential functions for this job.  Other duties may be performed, both major and minor, which are not mentioned below.  Specific activities may change from time to time. 
1. Work as a technical/business consultant with clients, analysts, programmers, and team members to solve complex business problems; including development of feasibility studies, project plans, cost/benefits, alternative solutions, resource requirements, and project estimates. 
2. Develop detailed specifications from which complex systems/subsystems/programs will be written. 
3. Instruct, direct, and quality assure the work of other programmers and analysts.                         
4. Stay abreast of the latest technology architecture and "best practices" in the technology marketplace. 
  
Required Skills and Competencies: 
The requirements listed below are representative of the knowledge, skill and/or ability required.  Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions. 
1. Bachelor's degree in Information Technology related curriculum or equivalent work experience 
2. Eight to ten years of experience in application design and programming 
3. Working knowledge of PC applications such as Microsoft Office 
4. Ability to work independently or as a member of a team 
5. Ability to train others 
6. Ability to travel as needed 
  
SPECIFIC POSITION DESCRIPTION: 
  1. Top-level technical test automation expert with extensive progressive knowledge and skills in the area of automated test design and execution using various test automation frameworks
  2. Coordinates with the QA Lead to facilitate the gathering and documenting of test automation objectives and requirements for input into Automation Strategy and Design approach
  3. Documents test automation requirements and other test planning artifacts in preparation for test automation design
  4. Designs and develops test automation artifacts (scripts, functions, scenarios, processes) for simple to complex automated testing situations using various tools (primarily HP Quick Test Pro / Quality Center).
  5. Has expert level understanding of complete test automation and various test automation frameworks (i.e. data driven, keyword driven, table driven, hybrid, etc.)
  6. Collects, organizes, and analyzes statistical information from a variety of sources (both technical i.e. web logs, and non-technical i.e. product management interviews) to support high-quality test design
  7. Designs, executes, monitors, and troubleshoots HP QTP automated tests in a variety of situations and conditions
  8. Works collaboratively with other departments to understand project objectives, gather automation requirements, design automated tests, troubleshoot issues, and implement scalable test automation solutions
  9. Analyzes statistical results for baselines, trends, and anomalies to facilitate problem solving, application improvements, and reporting. Contributes ideas and recommends action based on that analysis.
  10. Manages automated testing artifacts to ensure proper reuse, versioning, backups, organization and retention.
  11. Coordinates and facilitates test automation planning, design and execution sessions.
  12. Constantly evaluates test automation strategy and approach to identify areas of improvement (i.e. test automation frameworks, dynamic data collection methodologies, coding standards, components and object repository methods, etc.)
  13. Trains and mentors other departmental resources on the proper selection, design and implementation of various Test Automation Frameworks, Tools and Strategies
  14. Compiles test results data, prepares and reports test results both formally and informally
  15. Makes performance and process improvement recommendations as needed
  16. Communicates results information to technical and non-technical audiences
  17. Interfaces as needed with the Section Manager or Team Lead to report status
  
Time Allocation: 
60% - Test automation architecture – defining frameworks, methodologies, strategies and approaches, driving improvements in test automation, expanding and growing automation team 
30% - Oversight and leadership of assigned Test Automation Analyst resources (both FTE and Contractors) 
10% - Career development and expansion of knowledge in business and technical areas

Desired Skills & Experience

Position Requirements: 
  1. Candidate should be a high-performing test automation expert, preferably using HP Quick Test Pro and HP Quality Center, having the ability to train and mentor other automation analysts on the effective design and implementation of various test automation frameworks as needed.
  2. Minimum of 10 years of progressive test automation experience, preferably using Mercury WinRunner/HP QTP
  3. Advanced experience with driving test automation through the use of HP Quality Center
  4. Advanced experience and competency using standard test automation methodologies and direct scripting and coding in HP QTP such as Linear Scripting and Structured Scripting
  5. Advanced experience and competency using various test automation frameworks such as Data Driven, Table Driven, Keyword Drive, Hybrid
  6. Advanced knowledge of test automation tools, frameworks, design approaches, and effective implementation techniques
  7. Advanced experience working with highly complex target application environments (i.e. combination of client, web, middleware, database, mainframe, third-parties, etc)
  8. Strong technical and testing skills - Knowledge of various software testing strategies and approaches
  9. Requires little supervision, self-starter that can work independently and collaboratively, while remaining effective at reporting status on tasks daily
  10. Very detail oriented
  11. Strong communication skills - Ability to communicate and document status and complex issues effectively
  12. Strong documentation skills – Ability to create clear, concise, detailed project artifacts that meet the standards of the Testing Center of Excellence and Software Quality Management process
  13. Illustrated experience and competency with at least one programming and/or scripting language – preferably Java/C# and VBScript or Perl
  14. Experience with testing applications that make heavy use of web services, Pega and Tibco technologies
  15. Experience with technologies such as IIS, Apache, Websphere, XML, XSLT, etc
  16. Experience with various client side scripting technologies such as AJAX, ASP.NET AJAX, JavaScript, JQuery, JSON, etc
  17. Knowledge and experience with distributed systems, web application technologies, web services, and multi-layered architectures.
  18. Knowledge and experience using Windows tools and utilities – some experience with UNIX/AIX tools is a plus
  19. Knowledge and experience with multiple relational database systems – primarily DB2 and SQL Server.
  20. Some knowledge and experience with IBM mainframe systems as they relate to end-to-end testing
  21. Knowledge of various environmental elements as they relate to testing (i.e. networking, hardware, software, mid-tier, etc.), and the ability to effectively assist with troubleshooting as needed

Keywords:

what is test architect role
test architect responsibilities
test architect job description
test architect roles and responsibilities
test architecture
test architect resume
test architect interview questions
test architect salary
roles responsibilities test architect
test architect job description
test architect interview questions
test architect role
test architect certification
test architect microsoft
test architect certification
automation test architect
automation test automation architect responsibilities
automation test architect responsibilities
automation test architect job description
automation test architect roles and responsibilities
automation test architecture
automation test architect resume
automation test architect interview questions
automation test architect salary
automation roles responsibilities test architect
automation test architect job description
automation test architect interview questions
automation test architect role
automation test architect certification
automation test architect microsoft
automation test architect certification

Test Automation

Test Automation


Often when a test automation tool is introduced to a project, the expectations for the return on investment are very high. Project members anticipate that the tool will immediately narrow down the scope for software testing effort, meaning reducing cost and schedule. However, I have seen several implementations of test automation are fail - miserably.


The following very simple factors largely influence the effectiveness of automated testing, and if not taken into account, the results is usually a lot of lost effort, and very expensive shelfware.

Scope - It is not practical to try to automate every test, nor is there the time available generally. Pick very carefully the functions/areas of the application that are to be automated.

Preparation Timeframe - The preparation time for automated test scripts has to be taken into account. In general, the preparation time for automated test scripts can be up to 2/3 times longer than for manual testing. In reality, chances are that initially the tool will actually increase the testing scope. It is therefore very important to manage expectations. An automated testing tool does not replace manual testing, nor does it replace the test engineer. Initially, the test effort will increase, but when test automation is done correctly it will decrease on subsequent releases.

Return on Investment - Because the preparation time for test automation is so long, I have heard it stated that the benefit of the test automation only begins to occur after approximately the third time the tests have been run.

When is the benefit to be gained? Choose your objectives wisely, and seriously think about when & where the benefit is to be gained. If your application is significantly changing regularly, forget about test automation - you will spend so much time updating your scripts that you will not reap many benefits. However, if only disparate sections of the application are changing, or the changes are minor - or if there is a specific section that is not changing, you may still be able to successfully utilise automated tests. Bear in mind that you may only ever be able to do a complete automated test run when your application is almost ready for release i.e. nearly fully tested!! If your application is very buggy, then the likelihood is that you will not be able to run a complete suite of automated tests due to the failing functions encountered.

The Degree of Change: The best use of test automation is for regression testing, whereby you use automated tests to ensure that pre-existing functions (e.g. functions from version 1.0 - i.e. not new functions in this release) are unaffected by any changes introduced in version 1.1. And, since proper test automation planning requires that the test scripts are designed so that they are not totally invalidated by a simple gui change (such as renaming or moving a particular control), you need to take into account the time and effort required to update the scripts. For example, if your application is significantly changing, the scripts from version 1.0. may need to be completely re-written for version 1.1., and the effort involved may be at most prohibitive, at least not taken into account! However, if only disparate sections of the application are changing, or the changes are minor, you should be able to successfully utilise automated tests to regress these areas.

Test Integrity - how do you know (measure) whether a test passed or failed ? Just because the tool returns a pass does not necessarily mean that the test itself passed. For example, just because no error message appears does not mean that the next step in the script successfully completed. This needs to be taken into account when specifying test script fail/pass criteria.

Test Independence - Test independence must be built in so that a failure in the first test case won't cause a domino effect and either prevent, or cause to fail, the rest of the test scripts in that test suite. However, in practice this is very difficult to achieve.

Debugging or "testing" of the actual test scripts themselves - time must be allowed for this, and to prove the integrity of the tests themselves.

Record & Playback - DO NOT RELY on record & playback as the SOLE means to generates a script. The idea is great. You execute the test manually while the test tool sits in the background and remembers what you do. It then generates a script that you can run to re-execute the test. It's a great idea - that rarely works (and proves very little).

Maintenance of Scripts - Finally, there is a high maintenance overhead for automated test scripts - they have to be continuously kept up to date, otherwise you will end up abandoning hundreds of hours work because there has been too many changes to an application to make modifying the test script worthwhile. As a result, it is important that the documentation of the test scripts is kept up to date also.

Test Automation Framework

Test Automation Framework


Approach for Test Automation is used for building a strategy for automation starting from the Requirement phase till the deployment phase. Approach for automation begins with finding out the conditions and business rules given by the client and grouping similar conditions, business rules together as Test cases or Test Scenarios.

Steps involved in Approach for Test Automation are as follows:

  • Requirement gathering from the client
  • Understanding and Analyzing the Requirement
  • Grouping the requirement into Test cases
  • Preparing the Design for Automation
  • Building Scripts depending on the Design
  • Review of Scripts at OffshoreDelivery to the Client


In good automation framework, the important things that should be followed are:
  • Following common coding structure for all the scripts
  • Consistent coding conventions
  • Use of Reusability for making code efficient and minimal
  • Efficient use of Object Repository
  • Use of Error and Exception handling FunctionsUse of Data table object, Environment variables for using data
Design steps of the approach for Test Automation:

  • Identification of Test Cases for Automation
  • Identification of Common Functionality
  • Coding Standards, Naming Conventions & Templates
  • Building the Re-Usable Library for example:
    • Application Login, Logout, Common Functionality Related code etc
    • Tool & Application Settings, Restoring, Object Repository, Recovery, House Keeping etc
    • General library containing String handling, Date handling, File Handling, Data Table handling
    • Error handling, Log Reporting, messaging etc
  • Script Development using Record & Play back
  • Deliver the script after Verification & Validation

Guidelines followed for identification of Test Cases for Automation
  • Tests that need to run once and those that need frequent human intervention are usually not worth the investment to automate and have not been considered for automation.
  • As Automated testing can be used to verify the performance of application paths that are used with a high degree of frequency when the software is running in full production e.g. creating customer records, Invoicing and other high volume activities where software failure would occur frequently have been considered.
  • Mission critical processes like core activities like sales order processing are prime candidates for automated testing and have been considered for automation.
  • Repetitive Testing.
  • Applications with Long Life span – Longer the application in production greater the benefits from automation.
  • Avoiding dynamic screens. Though possible to automate this increases the complexity of the script.
  • Avoiding screens where objects are created dynamically
  • Avoiding business scenarios where complex hardware is involved
  • Selecting a row in a table results in an additional challenge from. Some automation tools provide the facility to read each row in a table and for focusing on a specific row. If the numbers of rows were very high the execution time of the script would be high. This leads to performance issues of the recorded script. Hence, it is better to prove the business scenario wherein tables with row selections figure by identifying a fixed row number. This scenario is faced very frequently in enterprise applications as in pricing tables and leads to the complexity of the script and subsequently the effort.
  • Avoiding scenarios that require high degree of coding while automating so that script's complexity is reduced and high maintainability of the script is ensured.

Keywords:

test automation framework
types of test automation framework
test automation framework ppt
test automation framework design document
test automation framework qtp
test automation architecture
test automation framework open source
building test automation framework
keyword driven test automation framework
qtp test automation framework ppt
test automation framework tool version support matrix
hp framework
qtp for loadrunner
qtp tool
support qtp
keyword driven framework in qtp
qtp tutorial
automation framework ppt
test automation framework design document
automation framework design & implementation
automation framework design guidelines
qtp automation framework design
test automation framework design
automation framework design document
automation framework types
automation framework design
qtp automation interview questions and answers
qtp will identify objects application using
qtp 11 interview questions
qtp automation framework interview questions
qtp automation interview questions pdf
descriptive programming qtp
automation testing interview questions
qtp testing interview questions

Performance Testing vs Load Testing vs Stress Testing - Examples

Performance testing - It is performed to evaluate the performance of components of a particular system in a specific situation. It very wide term. It includes: Load Testing, Stress Testing, capacity testing, volume testing, endurance testing, spike testing, scalability testing and reliability testing etc. This type of testing generally does not give pass or fail. It is basically done to set the benchmark & standard of the application against Concurrency / Throughput, Server response time, Latency, Render response time etc. In other words, you can say it is technical & formal evaluation for responsiveness, speed, scalability and stability characteristics.

Load Testing is subset of performance testing. It is done by constantly increasing the load on the application under test till the time it reaches the threshold limit. The main goal of load testing is to identify the upper limit of the system in terms of database, hardware and network etc. The common goal of doing the load testing is to set the SLAs for the application. Example of load testing can be:
Running multiple applications on a computer simultaneously - starting with one application, then start second application, then third and so on....Now see the performance of your computer.
Endurance test is also a part of load testing which used to calculate metrics like Mean Time Between Failure and Mean Time to Failure.
Load Testing helps to determine:
  • Throughput
  • Peak Production Load
  • Adequacy of H/W environment
  • Load balancing requirements
  • How many users application can handle with optimal performance results
  • How many users hardware can handle with optimal performance results
Stress testing - It is done to evaluate the application's behaviour beyond normal or peak load conditions. It is basically testing the functionality of the application under high loads. Normally these are related to synchronization issues, memory leaks or race conditions etc. Some testing experts also call it as fatigue testing. Sometimes, it becomes difficult to set up a controlled environment before running the test. Example of Stress testing is:
A banking application can take a maximum user load of 20000 concurrent users. Increase the load to 21000 and do some transaction like deposit or withdraw. As soon as you did the transaction, banking application server database will sync with ATM database server. Now check with the user load of 21000 does this sync happened successfully. Now repeat the same test with 22000 thousand concurrent users and so on.
Spike test is also a part of stress testing which is performed when application is loaded with heavy loads repeatedly and increase beyond production operations for short duration.
Stress Testing helps to determine:
  • Errors in slowness & at peak user loads
  • Any security loop holes with over loads
  • How the hardware reacts with over loads
  • Data corruption issues at over loads