Monthly Archives: July 2015

Performances Testing vs Performance Engineering: The Real Difference

Performance of the software or the finished output is a universal quality which is often affected by each aspect of its code, means for execution as well as its design. It has been found out that half of the executives in majority of the IT concerns face performance issues with respect to 20 % of the projects that they are handling. Ensuring sound performance of the software applications is crucial for the growth of the IT firms and more so in the mobile devices. The success also depends on the user experience to a considerable extent as many times poor performance leads to frustration and dissatisfaction amongst the clients.

Adoption of mobile technology is the latest as well as the phenomenon in the history that demonstrates the fastest technology adoption curve. The mobile application market is expected to experience a tremendous growth within the next few years. Sound performance of the application that are deployed to the mobile devices becomes highly significant as poor performance often hampers the revenue levels, brand image and lead to decline in customer loyalty.

To achieve sound performance standards with respect to the software applications, performance engineering and performance testing both are crucial and needs to be undertaken. Both of these need to be optimized and used appropriately to drive great performance standards.

Performance Engineering

Performance engineering in case of Software Development with respect to mobile platforms has been observed to be one of the fastest growing areas in Software Engineering. Through performance engineering, the connection between recognition of a business and success of the application when the same is applied to mobile based software is now largely becoming apparent.

Performance engineering encompass a set of roles, activities, skills, tools, practices and deliverables that are applied at each and every phase of the SDLC that leads to ensuring that a solution is going to be designed, implemented, and finally operationally supported for meeting the non-functional requirements in case of performance like latency, throughput or even memory usage.

With the connection between the success of the application and that of the business gradually gaining recognition especially in terms of the mobile devices, performance engineering has adopted a perfective and preventive role within the SDLC.

  • It is invasive and involves people from different units of an organization but chiefly within the IT company.
  • It helps in increasing the business revenue by means of ensuring that the system is able to process transactions in the required timeframe.
  • It helps in eliminating late deployment of the system and system rework owing to issues related to performance
  • It also helps in elimination of avoidable efforts with respect to system tuning.
  • Performance Engineering helps in avoiding unnecessary as well as additional acquisition costs of hardware.
  • Helps in the reduction of increased costs with respect to software maintenance owing to performance related problems in case of production.

Performance Testing

In case of software engineering, performance testing is an in general and non functional testing that is carried out in order to determine the performance of a system with respect to stability and responsiveness in face of a specified workload. Often this type of testing helps in the investigation of measure, validation or verification of other attributes of a system that establishes the quality of the same like reliability, scalability and usage of resources.

  • It serves a number of purposes like demonstrating of the system that fulfils performance criteria.
  • It can also be employed for comparing the performance of two systems for finding out the one that performs better. It can also measure the part of a system or the specific workload that are the basic causes accounting for bad or poor performance of a system.

Performance Testing consists of a number of testing like Stress testing, Load Testing , Spike Testing, Soak Testing, Isolation testing and Configuration testing.

Performance engineering does not merely encompass the supporting infrastructure and the software itself but more than that. Due to its macro approach, it has evolved into an altogether separate discipline in case of a number of the organizations. Its adherence to the non functional requirements also gets validated post the deployment of the same through monitoring of the production systems. On the other hand, being a subset of Performance Engineering, Performance Testing is a practice that strives for establishing sound performance into the design, implementation and architecture of the system.

Benefits of Using Selenium Testing Tools over QTP

QTP

QTP is a functional testing tool having the feature for storing screenshot of every page navigated at the time of execution. Therefore, it can be used as an evidence for completion of testing, and also you can refer the screenshots of earlier executions if there is any requirement to refer them. Test report can be written automatically to a customized report page that will confirm accuracy of the report and also it can enhance the report’s look and feel.

Advantages of Using QTP

  • User friendliness and a little effort for script creation.
  • Advanced solution for regression test and functional test automation.
  • Meets the requirements of both non-technical and technical users.
  • Easy configuration and many inbuilt functionalities by default.
  • Automation scripts are performed within specific interval of time by means of task scheduler or crone job.
  • Easily integrated with test administration tools such as QC.
  • Outstanding object identification process or mechanism.

Disadvantages of QTP

In current economic crisis, software companies are planning for efficient productivity as well as cost reduction. QTP is losing its market owing to the following limitations:

  • Runs in Windows environments only.
  • Unable to test with all types and versions of browser.
  • Restricted to smaller testing teams or organizations.
  • High licensing as well as add-inns costs.
  • Slow in execution as compared with open source tools.

Selenium

Selenium Testing has four variants that can be used in combination or in isolation to create a full automation suite for your web applications.

  1. Recording or Creating as well as enhancing scripts – Selenium IDE
  2. Cross browser testing – Selenium Web Driver (API)
  3. Executing scripts – Selenium Remote Control (RC)
  4. Cross platform testing – Selenium Grid

Advantages of Using Selenium:-

  • Powerful and simple document object model (DOM) level testing can be used for constant combination with agile projects.
  • Has great flexibility and extensibility, with its tight integration with the browser unmatched by proprietary tools that are available.
  • Supports different browsers, for instance, Firefox, Internet Explorer, Opera or Safari on Linux, Windows and Mac OS X.
  • NET, JAVA, Perl, Ruby, PHP and other Object Oriented Programming languages.
  • Offers the option of using various IDEs such as Netbeans, Eclipse, Visual Studio etc. depending on the selection of development language.

Disadvantages of Selenium

  • Doesn’t support uploading files from local machine
  • Doesn’t support the windows application
  • Supports only application based on browsers
  • Offers only one-sided support for dialog boxes
  • Selenium being an open source has no official technical support

Comparison

There are many comparisons between the features of Selenium and QTP. Selenium only supports web applications. QTP supports client server applications only (e.g. built in TCL or TK and PowerBuilder). For Selenium it is portable and open source where as for QTP it is costly and licensed. The price of ten user license is around 60L. From the standpoint of UI object storage and management, For Selenium it is managed applying UI-Element user properties and extension. For QTP, it is a set of dynamically loaded libraries stored in the Java archive file.

Conclusion

Applying Selenium as the Functional Test Automation Tool can help you reduce the cost brought upon yourself for licensing using QTP. In the initial stages, the efforts required to script for Selenium raised by about 15% than QTP. Once all the solutions are ready the efforts of automation using QTP and Selenium were almost the same.

However, to conclude, we can say that Selenium is more beneficial than QTP so far as flexibility and costs are concerned. In addition, it allows you to run tests parallel, where as in QTP you are only allowed to run tests in sequence.