Big Data and Software Testing

Software Testing is all about the verification that the Software meets the requirements


Software Testing is all about the verification that the Software meets the requirements and specifications discussed with the Client. The Testing verify that those requirements are met, but it will be still in the User Acceptance Tests where the Client recognize that few things are not working as expected.

The current approach of Testing is not a final guarantee of success for the system development and implementation.

Project can still be successful (on budget, on time), challenged (complete but over-budget and over-time), failed (cancelled at some point during the development cycle).

Verification and validation

The best thing to do is to evaluate the possible causes of failure in order to classify them from incomplete requirements capture, unit testing failures, volume test failures due to using too small environments or too small sets of data, etc.

We personally recognize that there is little effective verification and validation activity happening earlier in the process. So the real major question and crucial point of discussion is : there is a way to brought forward the software testing still in the early stages of the development in order to fully verify the requirements specifications, architecture design, interfaces, etc. ?

Formal testing of BI and analytics

One of the major issue is that Software Testing Team are very often not involved in any of the big data analytics projects. The data scientists ‘do their own thing’ and the business makes many business critical decisions based on their ‘untested’ work. Very often the models developed by the data scientists produced different results depending on the order in which the data were presented, when the result should have been independent of the sequence.

In Conclusion, the challenge for the Testing Professionals is too determine how their skills, knowledge, experience, process and procedures can be applied in the early stages of the development process in order to deliver a “successful project”.

Are there opportunities to ensure more comprehensive and correct requirements specifications?

Collecting your data

There are few sources of data that you can collect as an application evolves from design to production. The developers start off with a set of requirements that are translated into a design. Both requirements and the design can change at different stages of the application life cycle, so the requirements, design, and changes to them all constitute sources of data that you should capture.

Next, the design gets coded. How many developers participated in the coding? How long did it take? You can use all the data to correlate a design with the effort required to code it. What parts of the code were touched? What output do you have in your software configuration management system and build logs? That’s more data for your analysis.

QA engineers can test and enter defects, take screen shots, and record videos. You can use that data to correlate coding effort with the number of defects. QA staff then provide their feedback for another iteration of coding. Each time the cycle repeats, the development team generates new data. Finally, the mature application is released into production, where users interact with it.

Here is the point where businesses apply traditional big data analytics to study user behavior, but you can use all the data created by designers, developers, and QA teams before the application is ever released to drive your own decision making.

The data is there for the taking. Too often, however, that data is lost somewhere in a database without any analysis.

Use the big data to your advantage

The final goal is to optimize the development cycles and make them much shorter using data. But how could we do that without compromising quality?

Big data analysis is a disruptive opportunity you can use to rethink how you work across the application life cycle, and it can be applied to every stage of the software delivery pipeline. Everyone involved in the process generates data you can use. Whether it’s developers fixing bugs or QA engineers reporting them, you can use this data to help you make better business decisions. In the future, smart systems may even work autonomously, learning from historical decisions and suggesting optimizations based on historical data.

The way development teams have worked for the past 20 years fundamentally changes when you combine the power of machine learning to the goldmine of data at your fingertips.

The future of Testing : Whether you look at build logs, analyze source code, evaluate defect histories, or assess vulnerability patterns, you can open a new chapter in application delivery fueled by big data analytics. Potential developers will check in code, and without any manual intervention the system will rapidly execute only the relevant tests. Code changes will be automatically flagged as high risk based on history and the relevant business impact of the changes, in the process triggering additional regression tests for execution. Step into the future, where machine learning and big data analytics help you build and deliver software faster and better than you ever could before.

For all your questions on Software Testing contact IT People Australia :

Email:   info@itpeopleaustralia.com.au

Website:  www.itpeopleaustralia.com.au

Instagram: https://www.instagram.com/it_people_australia/

Facebook:  https://www.facebook.com/itpeopleaustralia/

Twitter : https://twitter.com/itpeopleau/