In fact, through experience, blood, sweat and
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.
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: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:
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.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 3 7001 1430 or solutions[at]qsometech.com
0 comments :
Post a Comment