Abstract
Context-Driven Testing is widely used in the Agile World. It optimizes the testing value and provides an effective way to detect unexpected bugs. Context-driven testing requires the testing team to leverage the full knowledge and skills to solve the problem or to make a decision. In this paper, we propose an approach for Context-Driven Testing using Heuristics and Machine Learning for web applications with a framework called Shinobi. The framework can detect web controls, suggest a set of heuristic values, recognize the meaningful input data, and detect changes of application to recommend test ideas. In the context of improvising the testing performance, Shinobi is considered as Test Assistant for context-driven testers. Shinobi is a PoC to prove the idea of using Machine Learning to develop a Virtual Tester to improve the test quality and train junior testers as responsible testers. The framework is well integrated into all eCommerce projects at MeU Solutions which is a value-added advantage for testing.
Supported by MeU Solutions.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Zang, J.: Financial organization transformation strategy. In: Concas, G., Damiani, E., Scotto, M., Succi, G. (eds.) XP 2007. LNCS, vol. 4536, pp. 188–192. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-73101-6_34
Rajasekhar, P., Shafi, R.M.: Agile software development and testing: approach and challenges in advanced distributed systems. Glob. J. Comput. Sci. Technol. B Cloud Distrib. 14(1), 6–10 (2014)
Vijay Anand, R., Dinakaran, M.: Issues in scrum agile development principles and practices in software development. Indian J. Sci. Technol. 8(35) (2015). https://doi.org/10.17485/ijst/2015/v8i35/79037
CapGemini, Sogeti and Micro Focus: World Quality Report 2017-18, 9th edn (2017)
Papadopoulos, P., Walkinshaw, N.: Black-box test generation from inferred models. In: 4th IEEE/ACM International Workshop on Realizing AI Synergies in Software Engineering, pp. 19–24 (2015)
Shaukat, H., Marselis, R.: Testing of Artificial Intelligence-AI Quality Engineering Skills - An Introduction. SOGETI (2017)
Eguide, T.: The Impact of Software Failure - And How Automated Testing Reduces Risks. Tricentis (2017). https://www.stickyminds.com/tricentis-eguide-impact-software-failure-and-how-automated-testing-reduces-risks
Tricentis: Exploratory Testing: The Heart of All Things Testing (2016). https://www.tricentis.com/resource-assets/exploratory-testing-whitepaper/
Bach, B.J., Bolton, M.: A Context - Driven Approach to Automation in Testing, vol. 2016. Satisfice Inc. (2016). http://www.satisfice.com/articles/cdt-automation.pdf
Johnson, K.N.: Software Testing - Heuristics and Mnemonics (2012). http://karennicolejohnson.com/wp-content/uploads/2012/11/KNJohnson-2012-heuristics-mnemonics.pdf
Baller, H., Lity, S. Lochau, M., Schaefer, I.: Multi-objective test suite optimization for incremental product family testing. In: Proceedings - IEEE 7th International Conference on Software Testing, Verification and Validation, ICST 2014, pp. 303–312 (2014)
Ding, J., Zhang, D.: A machine learning approach for developing test oracles for testing scientific software. In: The 28th International Conference on Software Engineering and Knowledge Engineering, SEKE 2016, pp. 390–395 (2016)
Bach, J.: Heuristic Test Strategy Model. Satisfice, Inc. (2002). http://www.satisfice.com/tools/htsm.pdf
Ghazi, A.N., Garigapati, R.P., Petersen, K.: Checklists to support test charter design in exploratory testing. In: Baumeister, H., Lichter, H., Riebisch, M. (eds.) XP 2017. LNBIP, vol. 283, pp. 251–258. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-57633-6_17
Zhang, D.: Applying machine learning algorithm in software development. The Effects of Brief Mindfulness Intervention on Acute Pain Experience: An Examination of Individual Difference, vol. 1, pp. 1689–1699 (2003). https://doi.org/10.1017/CBO9781107415324.004
Hormozi, H., Hormozi, E., Nohooji, H.R.: The classification of the applicable machine learning methods in robot manipulators. Int. J. Mach. Learn. Comput. 2(5), 560–563 (2012)
Noorian, M., Bagheri, E.B., Du, W.: Machine learning-based software testing: towards a classification framework. In: SEKE 2011 - Proceedings of the 23rd International Conference on Software Engineering and Knowledge Engineering, pp. 225–229 (2011)
Briand, L.C.: Novel applications of machine learning in software testing. In: The Eighth International Conference on Quality Software, pp. 3–10 (2008)
Joshi, N.: Survey of rapid software testing using machine learning. Int. J. Trend Res. Dev. 3(5), 91–93 (2016)
Raghuwanshi, V.: AI and software testing. In: 17th Annual International Software Testing Conference (2017)
Bhateja, N., Sikka, S.: Achieving quality in automation of software testing using Ai based techniques. Int. J. Comput. Sci. Mob. Comput. 6(5), 50–54 (2017)
Sahoo, R.K., Ojha, D., Mohapatra, D.P., Patra, M.R.: Automated test case generation and optimization: a comparative review. Int. J. Comput. Sci. Inf. Technol. 8(5), 19–32 (2016)
Wegener, J., Baresel, A., Sthamer, H.: Evolutionary test environment for automatic structural testing. Inf. Softw. Technol. 43(14), 841–854 (2001)
von Mayrhauser, A., Anderson, C., Mraz, R.: Using a neural network to predict test case effectiveness. In: The IEEE Aerospace Applications Conference Proceedings, no. level 1, pp. 77–91 (1995)
Briand, L.C., Labiche, Y., Liu, X.: Using machine learning to support debugging with tarantula. In: The 18th IEEE International Symposium on Software Reliability, (ISSRE 2007), pp. 137–146 (2007)
Sathyavathy, V.: Evaluation of software testing techniques using artificial neural network. Int. J. Electr. Comput. Sci. 6(3), 20617–20620 (2017)
Akmel, F., Birihanu, E., Siraj, B.: A literature review study of software defect pre-diction using machine learning techniques. Int. J. Emerg. Res. Manag. Technol. 6(6), 300–306 (2017)
Ramsundar, B.: TensorFlow Tutorial (2016)
Goldsborough, P.: A Tour of TensorFlow (2016). https://arxiv.org/abs/1610.01178
Girshick, R.: Fast R-CNN. In: Proceedings of the IEEE International Conference on Computer Vision, pp. 1440–1448 (2015)
Huang, J., et al.: Speed/accuracy trade-offs for modern convolutional object detectors (2016). https://arxiv.org/abs/1611.10012
Chen, X., Gupta, A.: An Implementation of Faster RCNN with Study for Region Sampling (2017). https://arxiv.org/abs/1702.02138
Wongsuphasawatl, K., et al.: Visualizing dataflow graphs of deep learning models in TensorFlow. IEEE Trans. Vis. Comput. Graph. 24(1), 1–12 (2018)
Yaman, F., Oates, T., Burstein, M.: A context driven approach for workflow mining. In: Proceedings of the 21st International Joint Conference on Artifical Intelligence, IJCAI 2009, pp. 1798–1803 (2009)
Ren, S., He, K., Girshick, R., Sun, J.: Faster R-CNN: towards real-time object detec-tion with region proposal networks. IEEE Trans. Pattern Anal. Mach. Intell. 39(6), 1137–1149 (2017)
Ghahrai, A.: How to Overcome Agile Testing Challenges. https://www.testingexcellence.com/agile-testing-challenges-qa-agile-projects/. Accessed 28 Apr 2018
Mathuria, M.: AI and Machine Learning to Optimize Software Testing. https://www.readitquik.com/articles/ai/ai-and-machine-learning-to-optimize-software-testing/. Accessed 28 Apr 2018
Sypolt, G.: AI Test Automation: The AI Test Bots Are Coming. https://saucelabs.com/blog/ai-test-automation-the-ai-test-bots-are-coming. Accessed 28 Apr 2018
Wandile, P.: Overcoming Testing Challenges In Agile. https://dzone.com/articles/overcoming-testing-challenges-in-agile. Accessed 28 Apr 2018
Ghahrai, A.: What Are Test Oracles and Test Heuristics? https://www.testingexcellence.com/test-oracles-test-heuristics/. Accessed 28 Apr 2018
Brownlee, J.: A Tour of Machine Learning Algorithms. https://machinelearningmastery.com/a-tour-of-machine-learning-algorithms/. Accessed 28 Apr 2018
Faster R-CNN: Down The Rabbit Hole of Modern Object. https://tryolabs.com/blog/2018/01/18/faster-r-cnn-down-the-rabbit-hole-of-modern. Accessed 28 Apr 2018
Tensorflow. https://www.tensorflow.org/. Accessed 28 Apr 2018
From the Experts: Top 5 Trends Shaping the Future of Software Testing. https://www.qasymphony.com/blog/5-trends-future-software-testing/. Accessed 28 Apr 2018
RapidValue: New age Software Testing with Artificial Intelligence and Machine Learning. https://www.rapidvaluesolutions.com/new-age-software-testing-artificial-intelligence-machine-learning/. Accessed 28 Apr 2018
Object Detection with Faster R-CNN in Chainer. https://github.com/mitmul/chainer-faster-rcnn. Accessed 28 Apr 2018
Weng, L.: Object Recognition for Dummies Part 3: R-CNN and Fast/Faster/Mask R-CNN and YOLO. https://lilianweng.github.io/lil-log/2017/12/31/object-recognition-for-dummies-part-3.html#faster-r-cnn. Accessed 28 Apr 2018
MeU-Home - Meu Solutions. http://meu-solutions.com/. Accessed 28 Apr 2018
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 ICST Institute for Computer Sciences, Social Informatics and Telecommunications Engineering
About this paper
Cite this paper
Nguyen, DM., Do, HN., Huynh, QT., Vo, DT., Ha, NH. (2019). Shinobi: A Novel Approach for Context-Driven Testing (CDT) Using Heuristics and Machine Learning for Web Applications. In: Duong, T., Vo, NS. (eds) Industrial Networks and Intelligent Systems. INISCOM 2018. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol 257. Springer, Cham. https://doi.org/10.1007/978-3-030-05873-9_8
Download citation
DOI: https://doi.org/10.1007/978-3-030-05873-9_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-05872-2
Online ISBN: 978-3-030-05873-9
eBook Packages: Computer ScienceComputer Science (R0)