Give your testers a break! Discover how our test automation solution can help your business.

We believe automation should deliver not only better applications, but also be cost-effective and get your new products and features to market quicker. Why not pick our brains about how we do this for our customers?

What We Do

As a specialist software testing company, we build game changing software testing tools & offer testing services.

We complement your current quality program to create a paradigm shift in your application quality.

  • Consulting Advice from Dev to Delivery

    Consulting advice that covers testing strategy development, expert validation and application architecture reviews Learn More

  • Digital Test Practice Development

    Helping you create a scalable and responsive program to help you improve application quality and release speed Learn More

  • Outsourced Software Testing Services

    Proven software testing services & test automation services for any application. We help you sleep easier. Learn More

  • Testing Tool: Qsome Technology Platform

    Our world-class test planning, management & execution tool built for the digital age with a focus on digital test automation Learn More

Explore Solutions

Software Testing Solutions For Today's Delivery Challenges

  • Today's businesses & consumers interact with your app across multiple devices, so why should your testing be restricted to only a few?

    A robust testing program caters for functional, performance & security testing across all relevant devices. Does your testing program do this?

    Learn More

  • The entire premise of continuous delivery is speed and accuracy in execution. Both of these elements cannot be achieved using traditional testing tools and techniques.

    The Qsome Technology Platform is built to improve quality at speed. The combination of technology and bespoke services allows you to achieve your continuous delivery goals.

    Learn More

  • Today's users take mere seconds to judge an app's user experience. You should give them every reason to rate your app highly.

    Additionally, the speed at which app updates need to be released requires a serious quality program that inlcudes automated testing.

    Learn More

  • Performance optimisation is a dynamic exercise that requires multiple iterations. Its importance is magnified in a digital context where users expect, rather than desire, responsiveness.

    The Qsome Technology Platform allows users to execute load tests using functional test scripts. No extra investment is needed.

    Learn More

  • We have developed proprietary algorithms that enable more relevant test management & enhanced coverage & oversight of the most at-risk processes.

    Our custom-developed dashboard gives your team a conscise and updated view of the riskiest processes & the outcome of their recent test results.

    Learn More

  • Making sense of data is one of today's greatest challenges and potentially a very lucrative opportunities.

    Our ability to conduct intensive data-driven testing at speed will help verify that your Hive SQL queries are behaving as intended.

    Learn More

Enterprise Applications Where Our Software Testing Solution Delivers Results

Make no mistake, we're not a body shop. We provide our customers test management, automation and execution. All our testing services are backed by our leading-edge Qsome Technology Platform.

We create bespoke application testing programs to execute manual and automated regression tests. Despite the complexity of these applications, our customers are successful because our tests encompass greater test depth and coverage, at speed.

Some Of Our Software Testing Customers

  • A Global Supply Chain Giant

    Designed & implemented an end-to-end, automated software testing process & systems

  • A Leading Auto Manufacturer

    We helped design & implement a test management & execution strategy for upgrades of the SAP Business Suite

  • A Financial Services Company

    Implemented an industry best-practice testing strategy for a new customer-facing technology product prior to roll-out

  • A Government Digital Transformation Project

    Parallel testing for a new suite of citizens' self-help apps, including geospatial systems

  • A Global Entertainment Industry Giant

    Functional & performance QA for a mobile app serving content to millions of users

  • A Peak Information Technology Industry Body

    Automated functional testing of double-sided ecommerce marketplace for members

Ready to witness the magic?

Contact Us For Software Testing Services & Testing Tools


Global: +61 8 8312 1287

Australia: 1300 28 44 92

India: +91 9845 00 86 96

United Kingdom: +44 20 3769 2460

Australia: 120 Collins Street, Melbourne, VIC 3000

India: 201, Green Glen Layout, Bellandur, Bangalore - 560103

8 August 2017

5 traits of badly written test cases (& how to fix such software testing mistakes)

The World Quality Report was at great pains to point out that the costs of software testing are taking off, with no landing pad in sight to slow them down. While there is no single reasons for this phenomenon, they can usually be attributed to three main buckets:
  1. Problems with people, particularly software testers, but also your subject matter experts
  2. Problems with processes and systems that provide guidance as well as checks and balances
  3. Problems with products, specifically your software testing tools (which you should choose very wisely)
Among the biggest problems facing software testing projects right now is the speed and quality of tests that are being executed. In fact, senior IT executives and decision makers have pointed to software testing effectiveness as a major challenge for them and their testing teams:
While there is no silver bullet to any software testing challenges, effective test design and maintenance will go a long way to resolving the issues that lead to ineffective and inefficient software testing.

Having done many rounds of the software testing world, I can tell a poorly constructed test case from a mile away. Such morale-sapping and utterly frustrating tests usually have share 5 common characteristics. If you can identify your software testing project with any of these 5 characteristics, I urge you to seek the free advice of software testing specialists who will be able to guide you back to the right path.

1. Too specific – run only a specific test condition

Test cases need to consider a variety of conditions that the software will be expected to handle. The test case must be able to comprehensively test the software module with almost all possible combinations of main conditions.

To be able to comprehensively test all combinations of conditions, the software tester must find a way to present these conditions such that it is easy for others to follow, review and amend if the real-world process demands such actions.

2. Cover a small part of functionality – they need to test a larger part of the system

Test cases often focus on a specific function. Often this function is determined by the internal technical design of the software. Such practices are often found in large monolithic applications like SAP or Oracle ERP systems where a software tester may not always have knowledge of the entire business process, so the test case never ends up reflecting what the test designer doesn't know, but should have made the effort to understand.

Instead, the test cases need to reflect the usage patterns and flows. Every test case should try to cover as much of the flow as reasonably possible – going across technical and modular boundaries of the application.

Download our best practice guide to software testing for 10 practical and actionable tips on how to 10x the effectiveness of your software testing project.

Remember, you don't know what you don't know is never an excuse for creating and executing flimsy, irrelevant and ineffective software tests.

3. Software test created only for a specific user role

We have often seen test cases written for a very specific user role, with complete disregard for all other users of the application. This limits test case's scope and therefore, compromises their effectiveness significantly. Such test cases effectively test only small elements of the application while deceptively purporting to be complete and robust test cases.

Test cases that are most effective reflect the usage patterns, or what the Agile world refers to as user journeys. A business application, for example, should be tested with test cases that are designed to test the whole business process – covering all the user roles and all the systems that might be involved in the business process.

4. Written to prove that the most common use cases are covered well in the application

This, in my opinion is one of the most common problems and is a result of what I call a 'lazy' approach to test design. The test designer simply converts the requirements document into test cases.

The test designer should instead look for the ‘corner-cases’ or ‘boundary conditions’. Most developers are easily able to write code for the most common use cases. The problems surface the moment there is a condition that is even slightly different to the most common, or intended, use case. A well designed test case, will catch these easily and consistently.

5. Test case cataloguing and version control

Any test case can become completely useless if not catalogued systematically and kept available for use. Imagine a library with books not catalogued and placed systematically on shelves, especially after multiple borrowers have had their fill. It would be impossible to use the books if you can’t find them with ease when you need them.

Often hundreds of test cases are written with much effort, and then dumped into a shared folder structure. While this can work if you have very few test cases, a poorly organised system collapses the moment the number of test cases increases beyond a mere hand full.

Therefore, you need a software testing tool that is able to systematically tag and cataloguing test cases. Then your software testing tool should be able to ‘pull out’ test cases when they need to be run. To make this entire process seamless across the entire software testing team, you need a powerful testing tool that is able to effortlessly create and maintain multiple versions of test cases.

If you or your team need help in making your test cases more reliable and great at actually finding bugs before they get into production, take advantage of our a free software quality strategy session to help set you on the right path to achieve your goals.
Or contact us on +61 8 8312 1287 or solutions[at]
Publisher: Avaneesh Dubey - 23:07

A common software testing flaw was exposed by CBA money laundering case

Software testing flaw exposed by Australian bank money-laundering case
The Commonwealth Bank has conveniently blamed a "coding error" for its non-compliance with anti-money laundering compliance requirements. However, this attitude also exposes a very common flaw in software testing of large applications: subject matter experts (SMEs) are incorrectly utilised, in ensuring that business rules are properly implemented and executed during the software testing phase.

Frankly, "coding error" is likely to be the PR department's words for explaining this embarrassing blunder, but the software testing experts within the IDM software team should be very worried about their job security. Their oversight is a function of human error that goes unchecked due to poor processes that do not offer the requisite level of scrutiny.

The cost of software testing failure is a widely debated topic. This number seems quite plausible given the uber-pervasive nature of tentacles of many large enterprise applications: Debate that figure all you want, but we can definitely agree on the fact that the cost of the brand damage done from such events far outweighs any direct losses incurred. That too, not just to the corporate brand, but also to reputations of otherwise intelligent and competent professionals. This is not the first time that banks have made such monumental blunders and if they keep relying on outdated software testing tools and practices, it won't be the last time either.

What causes this flaw in software testing projects?

There is no one characteristic of any software testing project that allows such big, hairy mammoths to slip through the cracks. Any good software testing project consists of the right balance of intelligent people, practical processes and performance-oriented products or testing tools.

So let's break this down into the various components. As far as people are concerned, we know that the "shift left" or the introduction of faster development cycles through DevOps and Continuous Delivery is causing a lot of stress:
This extra stress will almost always result in human error. Most such errors will be minor and easily fixed at a later date, but some errors will be so big that examples will need to be made of the unfortunate people at their epicentre. The probability of major errors occurring is enhanced by the complexity of modern applications and development and testing environments:
As development complexity, and therefore software testing complexity, increases, associated systems and processes break down. The process that comes under most heavy strain is that which governs how SMEs are included in and utilised to validate software testing activities.

I have seen that over-burdened software testing teams increasingly pass on more responsibility to SMEs. Because this is often done implicitly so as not rock the boat, nobody in the process quite understands where the responsibility sits and what business rules have actually been validated. I imagine that this very situation came to fruition in this Commonwealth Bank example!

We have a very clear and streamlined process for engaging SMEs in a software testing project. Download our Software Testing Service Delivery Guide to view our process and the reasons behind it.

So what is the role of software testing tools in creating this mess?

Quite large, in fact. Software testing tools, play a crucial role in ensuring that:
  1. Your software testing team is as productive as possible; and
  2. Streamlining the implementation of business rules and testing processes for compliance and effectiveness.
The use of outdated and inadequate software testing tools has resulted in frustrated testers and IT decision makers who are unable to deliver on their promises to the business: If you are not locked into multi-decade licensing agreements with your current software testing tool vendor, then read our guide to selecting the best software testing tools for your needs. Whether you want to move to cloud testing or simply want the best testing tools to deliver on your goals, not asking these 6 questions can lead to embarrassing lapses such as the one the CBA has just suffered or, at the very least, spiralling software testing costs without any benefit to software quality:
In either case, the consequences are rather sour, but also usually avoidable.

What systems do I need to implement in my software testing project?

Achieving a perfectly balanced confluence people, processes and software testing tools is no easy task. There is no silver bullet or fool-proof recipe for doing this. A specialist software testing services company can exploit their body of knowledge across multiple customers to help you design a bespoke software testing practice that is right for you.

Our Software Testing Service Delivery Guide explains the methodology we use to run our testing projects. It may be a good start to gather your thoughts and some new ideas. Then you can take advantage of our free software quality strategy session where our consultants will give you personalised advice that will help you work through your specific challenges and hit your desired goals.

While there is never a "perfect solution," you can try to get as close as possible to that software testing oasis by asking the right questions before you make a decision.

How can test automation help?

Not at all, unless it is implemented correctly using a methodology that makes sense for your applications ecosystem. We find that model-based software testing, with its emphasis on data-driven testing and test automation is a system with which to cut testing time and find bugs before your users find them.

We place a lot of faith in test automation because we know it works. We've been able to cut down testing time for a UK-based customer from 4 weeks to 36 hours, with greater coverage than the previous manual-only software testing could ever achieve. But we have achieved these results by putting in place other crucial elements of an effective software testing project. Download our best practice guide to software testing to conduct an audit of the high performance aspects of software testing that your projects are missing.

Irrespective of the software testing challenges you face, take advantage of our a free software quality strategy session to help set you on the right path to achieve your goals.
Or contact us on +61 8 8312 1287 or solutions[at]
Publisher: Ayush Trivedi - 11:56

31 July 2017

5 features of the best software testing tools for cloud testing

If you have not heard this before, allow me to enlighten you: not all software testing tools are created equal. In fact the "most popular" software testing tools in use today are usually are downright horrible at allowing users to realise the benefits of cloud testing. Surprised?

Don't be, because it seems that the power and, ultimately, value of cloud testing is yet to be grasped by IT executives. This KPMG study showed that only 1 in 4 of them thought that cloud testing would drive the search for software testing services vendors in the near future:
By researching the topic of software testing tools and cloud testing you can count yourself ahead of the curve! The real and undeniable consequence of this slow adoption of cloud testing are survey findings that paint a sad picture of the performance and productivity of the software testing profession globally:
Poor results of software testing programs are often the outcome of not knowing what you don't know or expecting different results despite executing the same process over and over.

What exactly is cloud testing?

Cloud testing (or cloud-based testing) is the next revolution of software testing and particularly, test automation. When combined with the right software testing tools, cloud testing allows users the speed and flexibility that traditional testing tools running on physical machines are simply not able to match.

I have racked my brain and spent hours trying to reinvent the wheel, but I cannot come up with a better definition of cloud testing than Wikipedia:
Cloud Testing uses cloud infrastructure for software testing. Effective unlimited storage, quick availability of the infrastructure with scalability, flexibility and availability of distributed testing environment reduce the execution time of testing of large applications and lead to cost-effective solutions.
The cloud is doing to software testing what it has already done for software development: inject unstoppable speed into the development process. Development teams can now easily spin up and effortlessly scale 1 or hundreds of virtual machines to deploy their applications. This flexibility comes without the worry of capital expense forms, internal bureaucracy or lead times.

The right software testing tools that utilise the cloud can give your testing team the same flexibility with the added boost of speed.

Want to see how our cloud testing tools are being used to cut testing time to hours or minutes?

What problems does cloud testing solve?

That is a great question! While there are number of data points we can pore over to try and explain the problem with the current approach to software testing, the one that hits home immediately (and almost universally) is that the costs of software testing are rising:
Cost is almost always the overarching problem that IT decision-makers are worried about. Skyrocketing costs are usually the result of many underlying problems that can defined by many brackets, including:
  • Inefficient processes
  • Under-productive people
  • Inadequate tools and technologies
  • Dynamic and unstable business and technological landscape
  • Poor decision-making or implementation errors
The World Quality Report went a step further and gathered the industry's thoughts on the root cause behind this projected spike in software testing costs. The top 6 reasons included all well-known suspects:
I am yet to meet an IT decision-maker who cannot identify with at least 3 of these 6 symptoms. Where the conversation gets derailed, however, is the strategy through which these issues can be resolved. This inability of organisations to come to a consensus on this topic is resulting in catastrophic failures where not only is money being squandered, but reputations of otherwise smart professionals are being tarnished.

Adding to these unending problems is the issue of you don't know what you don't know. A recent European study found that for all the educational efforts of innovative software testing tool vendors, the people that sign the cheques are still operating in the dark:
I firmly believe that while cloud testing may not be the panacea to all the problems afflicting the software testing industry, it is definitely a major element in helping you solve the issue of speed and quality. Particularly when combined with model-based software testing and a serious dose of robust test automation.

Why are software testing tools important in cloud testing?

Along with processes and people, testing tools are an integral part of the triumvirate that boosts the speed and quality of software testing programs. Traditional testing tools required on-premise infrastructure to create, maintain and run tests. Every component of the traditional testing environment has to be purchased separately and people have to be employed just to keep the test environment alive.

With cloud testing tools like the Qsome Technology Platform, all that frustrating integration work is taken care of. You don't need to purchase hardware to go with the testing tool. You don't need to hire specialists just to run and maintain your test environment.

Testing tools like ours allow you to leverage cloud servers to create, maintain and run all your testing scripts, both manual and automated. Your testers won't be left waiting for servers to become free to run tests, because that infrastructure is always available, on demand. Think of it as using Uber instead of hiring a car. Good cloud testing solutions make it THAT simple.

Enterprise grade cloud testing solutions go one step further by building analytics into the software testing process. This allows your team to release to production only based on objective testing data, rather than because a manager thinks that the current batch is ready to release. Have a look at the metrics that good cloud testing solutions allow you track, out of the box. How much of this is possible with traditional testing tools?

This simplicity, convenience and speed is at the core of all good cloud testing tools. If the cloud testing tool that you are evaluating does not have every one of these attributes, then you should stop wasting your time and look at something that WILL deliver.

Great decisions are made with good dat. Our dashboard helps oyu track the effectiveness & efficiency of your manual and automated software testing.

So the 5 features common in software testing tools that enable cloud testing are?

It may surprise you to learn that the 5 features of a good software testing tool that will really help you with cloud testing are often the least talked about characteristics when vendors spruik their wares.

Testing tools that enable cloud-based testing include not only the tools, but also the test infrastructure. Good software testing tools provide you a turn-key solution that allows you to focus on creating robust and efficient tests, as quickly as possible. Such tools provide the extra oomph that you need to execute successfully.

Because we use model-based software testing when providing software testing services for our customers, we have been able to build the Qsome Technology Platform to leverage the full power of the cloud and cloud testing.

Specifically, the following 4 features of our software testing tools help to move and synchronise the wheels of an effective model-based testing program:
  • Dynamic user journey mapping: you can document, upload, edit and maintain user journeys right inside the testing tool, irrespective of how many times stakeholders change their minds.
  • Central knowledge repository: all test artefacts and results are stored in one place, which becomes the single source of truth. Nothing is misplaced by being stored on local drives and the people who need access can have it from any browser, on any device.
  • Cross-browser & cross-device automation: your users use your application across all browsers and all devices. Your testing tool must be able to help you get ahead by allowing the advantage of automating tests across browsers and devices without extra effort.
  • Load testing without effort duplication: these days load testing is imperative for any customer facing application, because customer churn will skyrocket if your load times are slow. Traditionally, load testing required a different team with specific know-how. However, good cloud-based software testing tools allow you to execute load tests using the same scripts that are used for functional test automation. Genius!
  • Testing tools & infrastructure on-demand: by using parallel testing technology on an infinitely scalable platform that is maintenance-free, your test team can focus on running high quality, robust tests, instead of worrying about how to keep the test server running.

Request a demo now if you want to see first hand how the Qsome Technology Platform could help you leverage cloud testing to increase the speed and quality of your releases. Right now, we're also offering a free strategy session to help set you on the right path to achieve your goals.
Or contact us on +61 8 8312 1287 or solutions[at]
Publisher: Ayush Trivedi - 12:24

20 July 2017

4 powerful software testing tool features for model-based testing

Model-based software testing can be the panacea to your late and poor quality application delivery woes. However, every panacea needs an enabler and the right (cloud) software testing tools are as important as any other factor if you want to use model-based software testing in your team.

In fact, through experience, blood, sweat and tears toil, we have been able to narrow down the exact characteristics of a good software testing tool that enables model-based testing, to just 4 distinct features!

But first...

What is model-based software testing?

I was going to give you Wikipedia's definition, but why not take the word of a company that has made a business out of giving us extremely complex, but well tested software:
Model-based testing is the automatic generation of software test procedures, using models of system requirements and behavior. Although this type of testing requires significantly more up-front effort in building the model, it offers substantial advantages over traditional software testing methods.
Microsoft Developer Network
We will get to advantages of model-based testing a few paragraphs later. At this point it is important to understand that model-based testing attempts utilises user journeys within an application to design and execute the tests, whereas traditional software testing concentrated on testing discreet features or modules, without caring much for how the user may choose to interact with the application.

Why do we need model-based testing?

Model-based software testing is not only our preferred methodology for designing, executing and maintaining fast and robust application tests, but it is also one that has been refined over time to try and solve the age-old conundrum between speed and quality in software testing. This was quantified by the World Quality Report 2016-17:
The "speed" component of our conundrum is two-sided. Speed is demanded by the end-user in the form of application responsiveness, and it is demanded by the project team, who want to release the application as quickly as possible. With reference to the latter, the velocity of the shift towards Agile, DevOps and Continuous Delivery development approaches has only made it harder for software testing teams:
Frankly I don't understand why the other 59% of respondents decided not to agree with the statement above. After all, common sense dictates that faster releases will also necessitate more tests. Despite this anomaly, this observation completes the speed versus quality conundrum that confronts all application development and delivery professionals:

Want to see how our test automation tools use analytics to cut testing time to hours or minutes?

What specific problem does model-based testing solve?

Through interactions with our customers, we have condensed speed versus quality conundrum down to 5 specific symptoms. You will see below that we have also added a 6 symptom, because it is what every software delivery professional worries about, but for some reason the issue of reputation damage from poor software roll-outs remains the big elephant in the room.

We have an internal philosophy of calling a spade a shovel. This helps us ensure that no elephants get into the room in the first place! So, the 6 problems that model-based testing can solve include:
  • Unclear & incomplete requirements: with fast-paced Agile environments and the race to quickly adapt to user demands, documentation and clarity always suffer. This usually results in poorly tested applications being released into production.
  • Poor test design: this excuse is the general refuge of testers who cannot keep pace with rapid development and deployment cycles. A new paradigm of communication and documentation is required to create better, more robust and flexible tests.
  • Lack of representative data: software testing without data is fast and easy, but it does not result in high quality applications. Data sets often get stored and lost in CSV files, compromising the quality and robustness of tests.
  • Limited or ineffective test automation: automation is not easy, but it is a must-have element of any modern testing program. When combined with the right software testing tools, infrastructure and great test design, it can produce magic.
  • Slow & locked infrastructure: the days of waiting for test servers or licenses to become free should be over. These constraints impede productivity, quality, innovation and, ultimately, the willingness to break boundaries.
  • Damaged reputations: most professionals try their hardest and apply their minds to advance their careers. Traditional methods of software testing have repeatedly resulting in failure, ruining reputations of otherwise solid pros. There are few professional worries in life worse than being unable to sleep for fear of when and how a release might fail in production.

The perceived problem with automation is the result of unsuitable test automation tools and ineffective approaches to test automation. It has resulted in testers having to suffer the poor performance of a myriad of test automation tools, cobbled together with proverbial duct tape:
There is a better way and it is available now.

How does the right software testing tool help with model-based software testing?

Qsome co-founder and my colleague, Ayush Trivedi, created this model to explain test automation. However, it's also apt for explaining model-based software testing. At its core, model-based testing requires the successful confluence of people, processes and technology.
The right technology, ie. software testing tools and test infrastructure, provides the oomph that model-based testing practitioners need to execute successfully. Because we use model-based software testing when providing software testing services for our customers, we have been able to build the Qsome Technology Platform to support us and all other practitioners of model-based software testing.

Specifically, the following 4 features of our software testing tools help to move and synchronise the wheels of an effective model-based testing program:
  • Dynamic user journey mapping: you can document, upload, edit and maintain user journeys right inside the testing tool, irrespective of how many times stakeholders change their minds.
  • Central knowledge repository: all test artefacts and results are stored in one place, which becomes the single source of truth. Nothing is misplaced by being stored on local drives and the people who need access can have it from any browser, on any device.
  • Testing tools & infrastructure on-demand: by using parallel testing technology on an infinitely scalable platform that is maintenance-free, your test team can focus on running high quality, robust tests, instead of worrying about how to keep the test server running.
  • Cross-browser & cross-device automation: your users use your application across all browsers and all devices. Your testing tool must be able to help you get ahead by allowing the advantage of automating tests across browsers and devices without extra effort.

Request a demo now if you want to see first hand how the Qsome Technology Platform could help you successfully implement model-based software testing. Right now, we're also offering a free strategy session to help set you on the right path to achieve your goals.
Or contact us on +61 8 8312 1287 or solutions[at]
Publisher: Meena Kumar - 16:29

12 July 2017

Proven malware cyber attack on CMS templates makes you vulnerable

Malware is taking advantage of an easy path to your machines. By tampering the standard Content Management System (CMS) templates used for web application development, an age-old technique called phishing is still actively used to gain entry and compromise applications built with Wordpress, Drupal, Magento and other open source platforms.

Almost millions of systems have been compromised till date.

The web is full of such attack vectors and this trend shows no signs of abating in the near future as patched problems are replaced by newer and more ingenious attack routes. While there is no silver bullet or cure-all panacea, the potential to fall victim to such malware attacks can be minimised.

A few months ago I learned a very interesting and new method to inject malware into Joomla templates. I've since discovered that this attack vector is not limited to just Joomla templates, but such attacks can happen using many other standard CMS templates as well. This technique allows the attacker to gain access to the compromised servers and install malicious files that can then spread and wreak further havoc throughout the application.

Cyber attackers who use this method make use of simple PHP code injected into the CMS Templates. This code then allows them to call files remotely to help the malware spread to the compromised server. The vulnerability is such that the cybercriminal will have the ability to take full control over victim machines.

I have tried this on test systems that we have spun in-house and I can confirm that this works!

The fix

A malware infection through this method can be avoided if all stakeholders play their part. Developers must:
  1. Minimize changes to the CMS's core building blocks.
  2. Use checksum hash to validate the version.
  3. Only download free code and modules from trusted sources.
  4. Vigilantly check downloaded or externally-sourced code for cyber security vulnerabilities or backdoors (contact us if you need help with this)
System administrators should:
  1. Use Agile methodology for development & maintenance so issues can be identified and resolved quickly.
  2. Conduct thorough automated regression testing to ensure business rules are appropriately applied throughout the application
  3. White list allowed IP ranges to access the server and application backend
  4. Regularly run malware checks (contact us if you need help with this)
  5. Plan and stick to a disciplined and structured data backup regime to recover from an attack
  6. Conduct regular penetration tests before all major releases
Users of the CMS system can also help to assure the security of the Magento / Drupal / Joomla / Wordpress application by:
  1. Never clicking or open suspicious links and reporting such links to their teams when found.
  2. Ensuring that they only access the application backend on trusted networks.
  3. Installing and maintaining updated versions of reputable anti-virus and anti-malware applications on their computers.
Open source CMS's and platforms like Wordpress, Joomla, Drupal and Magento are incredibly complex, flexible and powerful applications. However, their most sought-after advantages can also become their Achilles Heel.

If you need help in finding cybersecurity vulnerabilities in your application or with effective and constant security monitoring of your CMS, speak to us understand how we will be able to help you. Right now, we're offering a free strategy session to help set you on the right path to achieve your goals.
Or contact us on +61 8 8312 1287 or solutions[at]
Publisher: Suresh - 13:17

11 July 2017

Why we love test automation (and you should too)

Test automation technology is a couple of decades old. In this period, we have seen several waves of technologies sweep through the industry. These waves have transformed many industries. Information driven innovations continue to disrupt businesses and continue to surround us all around.

Test automation has, however, not become mainstream. A lot of testing still is done manually. I wonder why?

One common statement I hear is that we should automate repetitive tests. True. But is that all? I contend that test automation, if done smartly, can help us run much more comprehensive tests. We can generate combinations of conditions and leverage automation to run these over the test system tirelessly. Try running these tests manually and you will know how laborious it becomes. The result, when done manually, we skip many conditions, thereby compromising the effectiveness of tests.

Product development is becoming iterative with Agile and Lean start-up models becoming mainstream. These would simply lose almost all advantage if not complemented by a strong test automation focus. Download our Ultimate Guide to Test Automation for a step-by-step process of implementing automated software testing. The Ultimate Guide includes the same steps that help us cut testing time from weeks to days for our customers, while reducing bugs in production by over 70%.

Manual tests become very person dependent. The expertise of the tester determines how well a test case is run and whether the results are meaningful. Some testers do a thorough job of reading the test cases, understanding the core idea and enhancing the tests as they run. Many others, just repeat the documented steps and finish the job assigned to them.

Is there a better way?

I have seen companies that assigned every test case in their catalog to at least 3 testers. Till date, I have not understood the idea behind doing so. A test once executed, should be adequate – unless off course, you hope that at least one of the testers will do a thorough job, or you believe that the test case is not well designed.

Companies spend a lot of time and resources writing ‘idiot-proof’ test cases. Writing and updating these test cases can be extremely time consuming. I wonder therefore, why write tests in English (or for that matter any other language)? Why not write the tests in java (or python, or cucumber) and make them run over computers?

Manual testing needs to be done, well, when people are available – during normal business hours. Automated tests, on the other hand can run over night, over weekends - 24/7. Cloud infrastructure and parallel computing allows us to run the tests fast. Tests that would take humans weeks to complete, are run by machines within hours!

So, if you do not have much time to test, opt for automation. If you do have enough time to test, even then let machines do the job – you focus on your next big idea.

If you need help in solving these challenges, or in cutting software testing time and finding more bugs before your application's users find them, speak to us understand how we will be able to help you. Right now, we're offering a free strategy session to help set you on the right path to achieve your goals.
Or contact us on +61 8 8312 1287 or solutions[at]
Publisher: Asim Virani - 11:32

6 July 2017

A proven software testing company can solve 5 painful challenges for you

Proven software testing companies can overcome 5 painful challenges
Many a software testing company will claim to do everything and anything under the sun for you. But only proven software testing experts will be able to prove to you how they can solve your most painful software quality challenges, like speed of testing, speed to market, support costs, process optimisation and others.

The challenges you are facing in your software development and delivery pipeline are unlikely to be unique. These issues usually stem from a mishmash of approaches and methodologies that are ill-suited to modern applications and their development practices. Even though software development techniques and industry participants have changed dynamically to suit the needs of users and enterprises, the software testing world has, for the most part, remained rooted to ineffective ideologies and practices.

The fix for these ails is not easy, but it is achievable. As a specialist software testing company we created our own testing tools and infrastructure platform and methodologies to help our customers get out of the rut of failed IT projects. The problems we solve and those I'm going to tell you about here are commonly repeated to us by our prospects before they become our customers. The same problems are also described in research conducted by reputable global organisations.

Hang on, what do you mean by "proven software testing company?"

This is an easy one because a proven or specialist software testing company combines three elements to deliver value and solve customers' pain points, specifically those that I will describe below:
3 components of a successful software testing & test automation services
The best software testing services companies bring a unified approach that comprehensively addresses each of the three factors above. Other service providers who use software testing services as a "bolt-on" up-sell strategy usually end up creating situations that do irreparable damage to otherwise competent professionals' reputations or disasters like this:
The practice of asking your developers or your development service company to test the application they are building is like asking Volkswagon to test the emissions of their cars. You may snicker quietly, but it astounds me how prevalent this practice still is:
If you just had a eureka moment or are compelled to let a rueful "d'oh", take advantage of our free software quality strategy sessions where one of our experts can help you devise a plan to get you back on track. In times like this we often fall back on these words of wisdom from a legendary British war-time leader:
Success is not final, failure is not fatal: it is the courage to continue that counts.
Winston Churchill

Painful Challenge #1: My requirements keep on changing

Dynamically shifting requirements and scope creep have been the eternal bugbear of every development team that has ever formed on this planet. It has resulted in messy legal brawls and media outbursts that have only served the purposes of highly paid lawyers and media barons.

A recent study has noted that this is a significant problem for senior IT executives responsible for software testing too:
Frankly, it surprises me that this number is so high. Isn't it the role of software testing to conform to dynamic user journeys and ensure that a high quality product is released, particularly with the increased adoption of Agile and BDD? We certainly think so and anyone in our team who complains about this quickly understands that the care factor for such complaints is south of zero.

I think such complaints from testing teams is a creative take on two similar complaints:
  • There is too much work and I can't be bothered with any more; and
  • I got into testing because I thought it would be easy, and this is not easy!
Attitude factors aside, the requirements shifting issue in software testing can also be attributed to a history of using fragmented systems and processes, cobbled together from competing vendors and kept in place by nothing stronger than masking tape. Such systems do not allow the creation and enhancement of purpose-built testing frameworks that are flexible enough to adapt to change. This symptom likely explains this observation, albeit that it was made within the context of test automation:
Integrating multiple tools just for test automation doesn't make sense
Proven software testing companies will clearly explain to you about their process for adapting to changing requirements and how the technology platform they use allows this to happen. Without a solid process for doing this, software testing specialists such as ourselves would be dead in the water. Effective processes that enable adaptation are also a reason that product companies trust us to do undertake their entire gamut of software quality work, from unit tests to end-to-end functional test automation.

Painful Challenge #2: I can't find and keep testers

This was one of the top 5 challenges in software testing faced by senior IT executives, but I find the percentage who complained about this, incredibly low. From my experience of talking to prospects and customers alike, this number should be well above 50%:
My friend and Qsome co-founder Meena Kumar wrote this about finding and retaining high quality software testers:
Finding good software testers is a hard task. Retaining them for a decent length of time is even more difficult. The churn that comes with frequent turnover in your team will cripple any otherwise effective application delivery program if you are not able to give your testers an engaging work environment where they feel valued.
Meena Kumar
Most good software testers have a software engineering background. This usually implies that they had dreams of becoming a software developer when they started their tertiary education. Along the way life happened (and probably a few stock market crashes, too) and they turned their talents to software testing instead. No amount of success in the testing field will extinguish the desire to be known as a badass developer for many such testers.

The other element to the software tester retention problem is one of monotony, especially in manual testing-only environments. How long can you expect a human to religiously ply through the same regression test scripts without falling victim to the twin evils of boredom and concentration lapses?

Proven software testing companies solve this dilemma in a number of ways. By taking a consulting-centric approach and making our software testers part of value generating methodologies, we can not only attract the best brains in the business, but also retain them longer than most of our competitors.

This subtle difference in how we are able to engage and motivate our teams is one that is often missed by our competitors who use software testing as a bolted-on up-sell approach to the customer.

Want to see how our test automation tools use analytics to cut testing time to hours or minutes?

Painful Challenge #3: We (want to) release fast & testing can't keep up

This perception is a combined effect of the first two pain-points and the fact that most IT executives either don't believe in test automation or have been pouring money into test automation that does not work. Both extremes have led to a stagnation in the perceived efficiency of software testers and a growth in the school of thought that believes test automation is an expensive mirage.

One of the reasons fuelling these two perceptions is this:
There is a lot of noise in the software testing tools space and much of it is being made by "influencers" who take cover under buzzwords and fads to promote underwhelming testing tools. Unfortunately, this creates mayhem in the minds of IT decision makers who end up blaming their software testing teams:
Proven software testing companies well understand the power of test automation. More importantly, we design our testing methodologies to ensure that every test that should be automated, is automated. This allows our customers to execute regression testing early and often and enables software testers to devote greater time to tasks such as exploratory testing, which serve to reveal the fringe situations where a user journey may break down.

Completing the feedback loop so that automated and manual regression testing suites are updated to include testing for new-found defects or knowledge is vital to building a cohesive and efficient software testing practice. We disregard this last step in the process at our and our customers' peril.

Painful Challenge #4: High maintenance, unstable & complex test environments

This is an all-encompassing problem and one that is not easy to fix:
Most medium to large organisations are tied into multi-year licensing agreements with legacy software testing tool vendors. These vendors have not been able to enhance their testing tools to keep pace with modern development methodologies and delivery requirements. Because of such lock-in contracts, customers are unable to take advantage of new on-demand testing tools and testing infrastructure which is purpose-built to enable faster application delivery with greater coverage across browsers and devices.

I also observed with keen interest the increasing reliance on free and open-source "testing tools":
Open source has many advantages: it's free, there is usually a large body of knowledge available online and users don't have to start from scratch. It also has some disadvantages that are conveniently forgotten: it is not usually a complete product or system, configuration can be very time-consuming without prior experience and you have to support it yourself.

These drawbacks alone are enough to rob you of any cost savings you were hoping to make by getting a "free" testing tool. The most common example of this syndrome is Selenium. We use Selenium as the automation engine for web app test automation in the Qsome Technology Platform. It is great for that purpose and suits us and our customers well. Download our Ultimate Guide to Test Automation for CXOs to peruse the comparison charts of different enterprise-grade testing tools as well as automation engines for web and mobile testing.

The problem is that many in the industry consider Selenium to be the panacea for all their test automation woes. What such people are missing is that Selenium is not a software testing tool. It's a set of APIs to control a browser. The essential elements of any good testing tool, eg. test management, test infrastructure, test analysis, etc, still need to be built or cobbled together from other vendors.

Such practices only serve to confuse customers and create inefficiencies in software testing processes. Proven software testing companies understand this and will explain why their preferred software testing tool is more suited to achieving the desired goals.

It's for this reason that we only provide our software testing services if the customer agrees to use our functional testing and load testing tools.

Understand how an on-demand software testing tool and testing infrastructure could help you release faster & higher quality applications.

Painful Challenge #5: The Uber effect on users' expectations of application quality

It has been proven. Today's application users, particularly employees and vendors, are demanding higher quality applications:
I call this the "Uber-isation of enterprise IT". Most of us have used Uber instead of traditional taxis and have been spoiled by the near seamless user experience that Uber treats us to when booking our "personal driver." The bad news for senior IT executives is that their colleagues are demanding similarly seamless experiences in the applications that drive their daily workflow.

Satisfying this expectation is nigh on impossible if you can't find and retain testers, have the wrong testing tools, don't have the right testing frameworks or have cobbled together your testing environment using free code from the internet.

Proven testing companies not only have turn-key solutions to such problems, but we are also able to convert our learnings from one project into more effective and efficient service delivery of our other customers' projects too. Replicating this cross-pollination of ideas will likely be difficult for your teams.

Call me and I'll be happy to tell you how we used the knowledge learned from automating tests for time-delayed or asynchronous user journeys from one customer to help with delivery of our Salesforce testing services for other customers.

If you need help in solving these challenges, or in cutting software testing time and finding more bugs before your application's users find them, speak to us understand how we will be able to help you. Right now, we're offering a free strategy session to help set you on the right path to achieve your goals.
Or contact us on +61 8 8312 1287 or solutions[at]
Publisher: Ayush Trivedi - 15:12

4 July 2017

How to select the best outsourced software testing services company

Best outsourced software testing company
The selection of the best and most compatible provider of outsourced software testing services could be the difference between your applications delivering real business value or ending up on the scrapheap of those poorly executed and costly great ideas that damaged the reputations of everyone involved. The positive or negative results of this decision will be magnified because of the added complexity of the relationship between your teams and those of your outsourced software testing services partner.

I strongly recommend a thorough perusal of best practice guide to software testing to enhance your understanding of what you should reasonably expect from your outsourced testing services partner. Once this preparatory work has been done, there are six crunch questions that you must ask prospective outsourcing partners before making your decision.

First, a word of caution

Price and affordability has its place when selecting a test automation service provider, but the underlying value that is delivered should be equally, if not more important. When assessing value, it's always worth remembering:
80% of companies that outsource software testing to cut costs alone will fail
By no means am I advocating that your organisation pay through the nose for software testing tools and services that you do not need. Nor should you even consider contract with service providers that you genuinely believe have a sub-standard offer.

However, you should stop yourself now and enquire within about your primary motive for outsourcing your software testing program. If it is for reasons of pure cost minimisation, then you may have to incorporate specific provisions in your agreement with your outsourcing partner to ensure that the non-financial outcomes of a good software testing program are delivered throughout the engagement. If you don't, then the statistic above would imply that your outsourcing project is already doomed to fail.

Why do organisations outsource software testing?

A recent KPMG survey of senior IT executives found that testing for mobile applications was a strong driver behind looking for outsourced application testing services:
Mobile app testing is a strong driver for outsourced software testing
Having been in this space for some time now, we have heard a lot of reasons the other 73% of customers request our outsourced software testing or test practice development services. We categorise these into three main buckets: By far the most prevalent bucket is the one defined by symptoms of poorly executed software testing program. There are many examples of such symptoms and we colloquially refer to them as sh*t hitting the fan moments. You may have heard, or even experienced some of these in your career:
Our software testing takes too long and our competitors are releasing their products much faster than us.
IT Director of a mid-sized company
Others are more concerned about the rising cost of supporting bug-infested applications, particularly in the digital age of inter-dependent applications environments:
All of our test cases pass, but the support tickets keep piling up every time we release to production.
CIO of a financial services company
There is a group of IT professionals that is trying to make their technology teams more responsive to business needs and commercial realities, only to suffer increasing amounts of reputation damage with each failed project:
We have great ideas but our execution, particularly when it comes to quality, is letting us down in a big way.
Senior Applications Manager of a mining and resources company
There is another group of IT decision makers that are driving or are key members of expansive digital transformation programs, but they simply have not had the time to keep abreast of the latest developments in software testing tools. In fact, we realised that this problem was more common than we had assumed after coming across this statistic:
IT decision makers feel that they don't know about the latest software testing tools
If you fall into this bucket then I recommend you read our Ultimate Guide to Test Automation for IT Decision-Makers. While it will give you some important tips about how implement test automation, it will also provide a comparison of enterprise-grade software testing tools.

The final bucket is also a very real commercial reality. Most (not all) good software testers are also qualified software engineers. They started their professional lives with dreams of writing code and creating amazing software. Somewhere along the way, they fell into a software testing role that provided them almost all of their wants, other than that job satisfaction that comes with being a badass developer.

Finding good software testers is a hard task. Retaining them for a decent length of time is even more difficult. The churn that comes with frequent turnover in your team will cripple any otherwise effective application delivery program if you are not able to give your testers an engaging work environment where they feel valued.

There are many more reasons we could add to this list. The point is, if you can identify with any of the above or variations on these common issues then you are absolutely correct to seek the expert assistance of an outsourced software testing services company. While there is no one "best" outsourced software testing company, there will be one or two that are best suited to your project. Ask the following questions to find your best fit.

Does the provider use testing tools that suit your needs?

Modern software testing tools can do a lot more, a lot faster than those tools that have been preferred by large enterprises for the last decade. If your organisation has already gone digital or is undergoing a digital transformation, then you need a fit-for-purpose software testing tool that centralises the software testing activities that will need to be executed with each code change. Where it was commonly accepted that test design, test management, test automation and test execution would be done by clumsily throwing together a bunch of different testing tools, the new breed of testing tools allow users to perform all these tasks in place.

At Qsome, we always assert that the best automated software testing tools include the following features, without exception:
All good software testing tools include test management, planning and execution. Only the best software testing tools also include automated test execution, automated scope selection and comprehensive debugging tools and analytics too.
Never accept a testing tool just because it is presented as the "industry-standard" or most popular. Not all tools are created equal and you will should take the time to understand which testing tool is right for your needs. Our guide to 10x Your Testing Effectiveness offers a list of verifiable factors that will help you understand what type of testing tool your organisation actually needs.

Before you complete this process, don't forget about load testing, especially for digital!

Want to see how our test automation tools use analytics to cut testing time to hours or minutes?

How will you objectively assess progress during the project?

We live in a world where all relevant information should be at your fingertips. The minutes of your weekly progress meetings should contain agenda items, not a bunch of statistics that attempt to show you progress. Your software testing service partner must provide you real-time information about the status of your tests. Information in "real-time" is key here, because without this immediacy you will still be playing catch up.

The data points that you need visibility of during a project can be varied like those given below, but should also be able to be customised to your needs:
  • Test script design and creation, including editable data sets
  • Visibility of tests passed, failed and unexecuted
  • Defect reports, particularly those that are overdue
  • Verifiable results of test execution, including video logs, screenshots and technical results

Does the provider commit to measurable and achievable project outcomes?

Insist that your software testing service provider agree to a fixed-fee and fixed-scope engagement. Such engagements compel both parties to work to reasonable timelines, concrete deliverables and measurable results. For the occasional project where a time and materials model is required, be certain to ensure that the value you desired from test outsourcing agreement are still being delivered.

In addition to the project-specific outcomes that you require from an outsourced software testing engagement, there are three key non-negotiable outcomes that your software testing services provider should deliver:
  • Reduce testing time from days / weeks to hours, without compromising application quality; and
  • Increased depth and coverage of tests to minimise the number of bugs that leak into production; and
  • An objective, analytics-based methodology to verify if an application is ready for release.

Can the service provider deal with failure?

Let's be honest, things will go wrong in every project. So will your test outsourcing partner cover up their failures or will they communicate with you about the best path forward? Will they be honest with you in a timely fashion that allows you to pivot your development and delivery plans?

Assuming that you outsourcing your software testing for more than just cost management reasons, you will want to see thought leadership from your outsourcing partner. You will want them to experiment with new ideas that will add future value to your partnership. However, you must be ready to manage less than optimal results, because we all know that failure is a necessary outcome of innovation. Your partnership will flourish if both parties can manage sub-optimal results in a responsible and constructive manner.

The ability to deal with failure is a very difficult characteristic to assess about a third party, but it may just be the most important of the six decision points on which you will make your decision. Churchill's line about failure has proven very instructive for when we have encountered it in our projects:
Success is not final, failure is not fatal: it is the courage to continue that counts.
Winston Churchill
A customer of ours from the United Kingdom is a very innovative company that placed a great deal of faith in our technology, but most importantly in our ideas. After a few weeks of work it became clear to our project leads that the path we had adopted was not going to deliver on our promises to the customer. Our plan to tackle the project wasn't wrong, but our execution was needed a tweak.

When communicating this to the customer, we explained the reasons behind our actions and conclusions. Not only was a viable and effective remedy presented, but we also communicated how this would affect the project's timelines. Most importantly, we delivered on this new plan. A few months after this experience the same customer signed a second agreement to assist them with the remainder of their applications ecosystem.

Most organisations, even the ones outsourcing the work, do not handle failure well. The loss of time, money and more importantly, face, is an unpleasant exercise. Despite this the fruits of encouraging thought leadership and innovation can outweigh short term losses if managed well.

Our customers have reduced bugs in production by over 70%? What could such results do for you?

Can the outsourced testing provider demonstrate a testing framework that is better than yours?

So you've got your testing tool, engagement model and end-goals sorted. But then what? What is the outsourced software testing partner going to do that is a) different from your current approach, and b) how do they know that there approach will deliver the results you seek?

The single biggest factor that kills enthusiasm and future funding for test automation is a regression suite that merely cycles through a bunch of screens without actually testing for bugs. This often happens when you or your outsourced testing provider relies on generic testing framework, with no regard for how that may fit with your applications, appropriate automated test design and the value of model-based testing.

It is of vital importance to test the solution provider's technical expertise and their ability to marry technical skill with the core requirements of the user journeys that your applications enable. Check out our guide to 10x Your Testing Effectiveness to understand the technical best-practices that your software testing services partner should adhere to.

Can the provider back their claims with customer references?

This may seem obvious, but you will be surprised by how often reference checks are not performed. Even if you are 100% satisfied by what your provider of choice has demonstrated to you, it doesn't hurt to seek the views of others who have travelled the outsourced testing journey.

When speaking to referees, focus on the key topics of communications, timeliness, strengths and weaknesses in delivery. Then use this knowledge during your outsourced project to improve communication with your chosen partner and ensure that the intended benefits of the outsourcing project are delivered.

If you need help in cutting software testing time and finding more bugs before your application's users find them, speak to us understand how we might be able to help you. Right now, we're offering a free strategy session to help set you on the right path to achieve your goals.
Or contact us on +61 8 8312 1287 or solutions[at]
Publisher: Meena Kumar - 13:49