Monday, 27 February 2017

Performance engineering and its impact on business




As companies increasingly embrace the digital platform to peddle their wares, the choices before customers increase by the day. In this context, online visibility of a company becomes important, as it a virtual window for customers to access products or services that are offered by the company.
No matter how user friendly the digital interface of a company may appear, any performance related issue with the website or application can bring unforeseen implications for the company ranging from loss of sales to loss of credibility and brand image. 

To address such dire eventuality, Performance Engineering should be made part of the design and architecture of the digital interface. Performance testing (a part of Performance Engineering) can check and validate the performance and responsiveness of the application or website against the ‘load’ of increased user traffic. 

Companies on digital platforms face a range of challenges that can get them vulnerable to risks or get them out of business at worst. One of the challenges can be a sudden spike in the volume of customer traffic, which can put tremendous pressure on the system. This sudden spike in workload on the system can either make it run agonisingly slow or result in downtime. 

Such unexpected behaviour by the system can put off customers, resulting in reduced or no sales, and deter them from visiting the site or using the application in future. This can have a toxic impact on company’s brand image and credibility. 

Performance Testing can go a long way in addressing such an eventuality. In this process, Performance Testing Experts test the system or parts of it to check whether all parameters function when the system is exposed to a sudden workload. The test also checks and validates if the system can be made scalable, should the need arise. 

Importantly, instead of using Application Performance Testing as a stopgap measure to be applied once in a while in the entire end-to-end Software Development Life Cycle (SDLC,) it should be integrated as an important activity during the design and development phase a la the Agile model.
The integration can be a part of the Performance Engineering setup wherein the system (inclusive of technology, human resource and processes) is prepared to effectively respond to problems of latency and low throughput, besides meeting SLA’s before its actual deployment.  

How to go about implementing Performance Engineering?
·         Conceptualization: Here, non-functional performance risks and high impact processes from a business point of view are identified. This is followed by selecting remedial activities, earmarking roles for individuals and setting up of deliverables.

For more information, click here .. 



Sunday, 26 February 2017

Marked trends in Quality Assurance during 2016




The rapidly changing digital landscape of the world has seen key challenges of maintaining security, increased competition, frequent technological upgrades, faster time to market, stress on ROI, and rising customer expectations driving the business goals of companies. And the way to address such challenges and meet those goals is to incorporate software quality assurance testing in the development phase itself with Agile and DevOps principles. 

The year 2016 saw the twin principles of Agile and DevOps gain currency amongst companies in spite of facing unfavourable economic and trade headwinds. It seems staying ahead of one’s competitors by keeping the customers happy has become the new mantra, wherein QA testing services have acquired salience unlike the earlier ‘earn profits at all costs’ dictum. 

Besides, the emergence of Internet of Things and the need to develop efficient systems running the same have posed challenges for QA testers like never before. The entire year witnessed trends that aimed at reducing costs and aligning QA software testing with business goals.

The modern customer has become choosy and particular about the products or services that are delivered by companies. One of the foremost thoughts that drive a customer’s buying spree is the performance of the product, besides the security it offers. Today’s customers do not settle for anything less vis-a-vis quality given the plethora of competitors to choose from. 

In view of the presence of such demanding customers, companies have to necessarily walk on the razor’s edge - of ensuring world class quality and optimizing cost at the same time. In the last few years, quality has emerged as a key attribute with quality assurance and testing becoming an integral aspect of the development processes. In fact, the year 2016 has seen a continuation of Agile and DevOps adoption by companies, wherein development and quality assurance and software testing have become a single entity rather than existing as two discreet functions. 

The five key trends observed in 2016 about quality assurance testing are as follows:
1. Growth in digital transformation: Increased competition has led to a scramble among companies to get a pie of that elusive customers’ acceptance. Software or applications that are high on quality have increasingly found favour with customers, so much so that companies have gone for digital transformation of their QA testing services. The digital transformation process envisaged adoption of cutting edge technologies, cloud services and virtualization to carry out qualityassurance testing. Furthermore, the focus of digital transformation has been more on ensuring customer oriented software QA testing and faster release cycles.

2. Growth in Agile / DevOps: Traditional software quality assurance testing has taken a back seat with the advent of Agile and DevOps. Instead of being reactive after glitches have entered the software, the new approach incorporates software QA testing in the development phase itself to prevent such an eventuality. Increased synergy between QA testers and developers ensures better quality of software that passes muster customers’ expectations. In the new approach, automation of QA testing services, development of right skills, and formation of a hybrid Agile TCoE hold center stage.

3. Growth in IoT: An upshot of digital transformation is the spread of Internet of Things, where objects communicate with each other thanks to embedded sensors and software. Any software QA company worth its salt has to include IoT testing in its scheme of things to not only keep pace with this emerging cutting edge technology, but also to ensure its functionality. 

4. Cost of test environment: Given the cost of establishing a real time test environment, QA testing software has to rely upon cloud based SaaS and PaaS resources, and virtualization.

5. Continuous delivery of QA: Ensuring customer satisfaction implies taking care of after sales services and updating the software from time to time. 

Conclusion:
The five QA software testing trends of the year 2016 show the discipline of QA to be evolving in order to keep pace with the times. The trends have highlighted the centrality of customer satisfaction in the overall QA scheme of things.

Michael works for Gallop Solutions, which is North America's largest Independent Software Testing Services & company operating since 2003 with offices in Philadelphia & California.

Thursday, 9 February 2017

How to test Mobile Applications effectively?



 
Mobile Applications testing

The challenge of unbridled growth in the numbers and variety of mobile based applications has brought Mobile Testing to the forefront of technological think tanks and business stakeholders. This goes without saying that unless Mobile Testing Experts devise suitable strategies to meet Mobile Testing challenges, chances of applications losing out in the clutter are real high. 

Any Mobile Testing Strategy should involve choosing a mix of physical devices and simulators to widen the sweep of features, form factors, networks and platforms. Again, increase in automation should be the key to cut down on test time, regression testing costs and pushing in better compliance. The suite of Mobile App Testing Services should include testing options such as functional, usability, performance, and security to ensure the robustness and responsiveness of the application. 

In the past decade or so, the penetration of smartphones has led to growth in the number of applications that is mind boggling in terms of its targeted end users, range and functions. The applications work on a host of mobile devices, form factors, hardware, software platforms, Operating Systems and networks. It goes without saying that this diversity has a bearing on the quality, stability, usability and responsiveness of an application. 

The sheer range of applications present challenges that Mobile Testing Experts have to grapple with to ensure that applications pass muster on the litmus test of end user satisfaction. This is important as any glitch/bug can lead to user dissatisfaction with the application. Thus impacting the revenue stream, credibility and brand image of the company. 

Mobile Testing Challenges
1. Diversity of devices: The range of devices in terms of their screen resolutions, sizes, screen sizes, and various other factors make application testing important.
2. Diversity of OS: Applications should be tested for a host of operating systems such as Android, Windows, iOS, and BlackBerry. Moreover, as every OS keeps getting updated periodically, so incorporating these changes in unavoidable.
3. Diversity of Network: Networks have challenges in terms of their speed, availability and strengths. So, applications should be compliant notwithstanding such limitations of network diversity.
4. Increase in test cycles: As networks, operating systems and software platforms undergo version changes to fix bugs or to meet newer customer expectations, aligning applications to meet such changes is done by implementing additional test cycles. This has an impact on the recurring costs for the company and also impacts time to market.  

Scope of Mobile Testing
The scope and type of Mobile App Testing is determined by the kind of applications (e.g., health, education, banking, and gaming,) its target audience (customers or enterprises,) platforms (various OS’s,) and channels (Google Play and Apple Store). Importantly, Mobile Testing Services should include testing types such as functional, performance, usability, network, security, and compatibility – each testing a particular aspect of the application or the environment in which it operates. 

Five ways to test applications

  • Use of testing tools: A mix of manual and automatic tools should be used. In manual testing, remote access solution implies accessing various types of devices from distributed data centres over the Internet. In automation testing, object or image based tools are widely used. Object based tools are helpful in testing devices that are independent of screen sizes and resolutions whereas image based tools are for testing end user applications. Even though automation is fast and reusable, it is cost intensive.
  • Choice of target devices: As the number and types of devices are humongous, it is advisable to select a mix of simulators and physical devices for testing.
  •   Use of Wi-Fi: Instead of relying on cellular networks, it is better to use Wi-Fi for network compatibility testing for it is easier as well as cost effective.
  •  Form Factors: Mobile Application Testing should ensure that the application is compatible with smartphones, tablets and phablets. 
  •          Use of Cloud: Instead of investing in procuring test tools and devices in-house, the services of Cloud should be utilized.

    Michael works for Gallop Solutions, which is North America's largest Independent Software Testing Services company operating since 2003 with offices in Philadelphia & California.