On Testing

Software testing: The lack of software testing and a proper strategy for conducting the aforementioned test, can push back a software project release immensely, or even worse, it can cause life-altering problems in the production. Additionally, when upgrading a legacy system to a new one, it is important to ensure the testing coverage has not been decreased and hence opened the project to a potential failure.

“Software development organizations are not allocating realistic budgets to testing, or their methods of estimating testing costs are non-realistic.” (Ng et al.,2004).

Mukherjee and Patnaik (2021) summarised all the commonly used testing strategies, and it is clear that there is a wide variety of approaches with little to no agreement on the best way to address the problem.

In the summary of Agile methodologies compiled by As Al-Saqqa et al. (2020), with the exclusive exception of XP, testing is rarely mentioned. The comparison of Scrum with XP (Anwer, 2017) clearly shows Scrum’s lack of attention to testing, and that is indicative of a problem considering that Scrum is by far the most popular methodology while XP is the least one (Fuior, 2019).

In my experience, software testing is the most neglected and confusing aspect of the entire software development lifecycle, and Scrum is the worst methodology to achieve quality. Scrum makes it impossible to have a specialised tester in the team, and complete the iteration at the same time. Furthermore, the artificial deadline of the sprints often results in rushed iterations and unnecessary pressure impacting the final result.

References

Al-Saqqa, S., Sawalha, S., & AbdelNabi, H. (2020). Agile Software Development: Methodologies and Trends. International Journal of Interactive Mobile Technologies, 14(11). Available from https://www.researchgate.net/profile/Samar-Al-Saqqa/publication/342848746_Agile_Software_Development_Methodologies_and_Trends/links/5f09bcdfa6fdcc4ca45e36f0/Agile-Software-Development-Methodologies-and-Trends.pdf

Anwer, F., Aftab, S., Shah, S. S. M., & Waheed, U. (2017). Comparative analysis of two popular agile process models: extreme programming and scrum. International Journal of Computer Science and Telecommunications, 8(2), 1-7. Available from https://www.researchgate.net/profile/Shabib-Aftab-2/publication/316845761_Comparative_Analysis_of_Two_Popular_Agile_Process_Models_Extreme_Programming_and_Scrum/links/5913588fa6fdcc963e7ee052/Comparative-Analysis-of-Two-Popular-Agile-Process-Models-Extreme-Programming-and-Scrum.pdf

Fuior, F. (2019). Key elements for the success of the most popular Agile methods. Romanian Journal of Information Technology and Automatic Control, 29(4), 7-16. Available from https://pdfs.semanticscholar.org/fdf6/0d4b38ae89ec5983161cdc4d0ebb914e0070.pdf

Mukherjee, R., & Patnaik, K. S. (2021). A survey on different approaches for software test case prioritization. Journal of King Saud University-Computer and Information Sciences, 33(9), 1041-1054. Available from https://www.sciencedirect.com/science/article/pii/S1319157818303616

Ng, S. P., Murnane, T., Reed, K., Grant, D., & Chen, T. Y. (2004, April). A preliminary survey on software testing practices in Australia. In 2004 Australian Software Engineering Conference. Proceedings. (pp. 116-125). IEEE. Available from https://www.researchgate.net/profile/Doug-Grant/publication/4071304_A_preliminary_survey_on_software_testing_practices_in_Australia/links/0046353c16d9380ec4000000/A-preliminary-survey-on-software-testing-practices-in-Australia.pdf