Software Testing – What’s Next
- October 31, 2016
- Posted by: admin
- Category: Uncategorized
What does the future look like for software testers? What should testers expect and prepare for?
It’s no secret that that pace of technological changes in IT is higher than in any other industry – computing power is doubling every 2 years, allowing for the creation of more and more powerful and complex software systems. In addition, there is the never-rending race to develop and release applications quicker, putting enormous pressure on software testers and requiring constant updates on their skill sets.
Software testing as a profession is not going to disappear. There is a fundamental engineering paradigm that guarantees job security for software testers for years to come: the more complex system is, the higher the risk and more risk requires more testing.
At the same time, software testing skills sets are changing fast and testers need to become more and more technical. The following factors contribute to those changes:
In the last sixty years, the IT industry has passed through different architectural and technological models, each one of which has dramatically affected both testing methodology and the skill sets required.
- Mainframe – relatively simple to test (single operating system and the same manufacturer usually supplies applications and support, so compatibility issues can be easily managed). Strong users are sufficient to perform testing duties.
- Client-Server – compatibility testing involves a certain complexity as there is a mix of hardware and software components. Testers with basic technical knowledge are required.
- Web based – higher level of complexity from a configuration and compatibility perspective. Testing for software and hardware compatibility on web applications requires much thought and preparation.
- Mobile – current trend taking the world by storm. Due to the small size of mobile devices and the multiplicity of things they need to interact with (different OSs, the APIs, the network interfaces, Wi-Fi, Bluetooth, the application layers, etc.), testing becomes increasingly complex and requires very technical testers.
- Wearables (aka smartwatches, google glass, virtual reality headsets) – the next big trend, including all the intricacies of mobile apps with even smaller footprints. However, putting mainframe power on your wrist brings enormous complexity (the smaller device is, the more complexity it brings, and since risk increases with complexity more comprehensive testing is required). That of course, affects skills sets required for testing.
Delivery Methodology changes
The more complex the software becomes, the more obvious is the necessity to switch from sequential SDLC models (aka Waterfall) to iterative (Agile) models, which are better suited for complex systems.
The key part of Agile is automated testing and that in turn requires software testers with programming/scripting skills. Furthermore, Agile puts a special focus on technical competency, as testers often pair with developers for testing tasks.
Testing Methodology changes
There is a fundamental switch of focus in testing from high-level (GUI-based) black box system testing to grey/white box component and unit testing. And that again requires more and more technical testers.
In order to survive and stay marketable, software testers need to constantly upgrade their skills in the following areas:
• Programming Languages
• Test automation
• Relational Databases
• Virtualization and Cloud Computing
• Mobile technology
Technical education for Software testers is fundamentally important. Consider it as an investment to your job security and not as an expense.
ABOUT THE AUTHOR:
Oleg Vertlib is a director of Hitek Computer School (http://hitekschool.com). Hitek Computer School provide education in Software QA and Software Testing from 2007.