Software testing needs more automation. Part 1
The article by Alexander Panchenko was published on EE Times, you can read the full version here.
As software and hackers get more sophisticated, QA testing will gain importance. That will require more software QA engineers and more test automation. Software QA budgets are on the rise.
Recently, the sixth edition of the World Quality Report 2014-15 was issued. The findings are based on a global market research study conducted among 1,543 senior IT executives. The report highlights recent changes in testing practices and shows that QA and testing budgets are increasing in many industries because of time-to-market pressures and a need to provide an all-channel experience for the consumer.
According to the report, companies spend more than a half of all QA and testing budgets (52%) on new development projects—an amount divided between cloud initiatives (27%), big data and analytics (20 percent each) and mobility (17%).
Based on the analysis presented in the research and our first-hand experiences at a1qa, we can presume that testing trends consistently follow those of development. Today, literally every software company tries to propose the most practical mobile solutions for its clients because applications must be accessible and user friendly on any device. So called “Responsive design” has become extremely popular, providing a unique use experience for each type of device or browser.
Unfortunately, that flexibility could cause security problems. For example, captcha absence in the mobile version of a website exposes it to brute-force attacks. That’s pushing non-functional test requirements such as performance, security, and ease to increase, especially for mobile testing. As a result, automated tests are growing in popularity. Automated tests result in increased test speed, decreased costs, and shorter time to market.
Looking deeper into software testing specifics, you could face a trend of TDD (Test Driven Development), a software-development technology based on the repetition of short development cycles. For example, this occurs when a software tester writes a test that covers a new feature, and then a developer creates code that will pass created test.
Cloud services are another big trend for development and testing of applications deployment and data storage. Cloud services suit the necessity of having information “right here, right now.” More and more data is moving to the cloud, which includes not only personal data, but also application software, servers, and databases. That inevitably results in an increase in cloud use and virtualizations for test environments.
Because of scandals around information leaks (Sony being the latest high-profile victim), however, many companies aren’t in a hurry to transmit their data to cloud services — even knowing the advantages of cloud computing override possible risks of using it. That’s because configuration security is still an unknown. Giving the data to a provider, a customer is convinced that it will be protected by default, although reality shows this isn’t always the case.
Read the second part here.