Automated Software Testing Analysis on Test Case Optimization and Test Case Levels on Java and Python

Authors

  • Ranjeet Kumar  Department of Computer Science, Magadh University, Bodh Gaya, India
  • Prof. Dr. Ramdip Prasad  Department of Mathematics, Danapur College, Patna, India
  • Arif Md. Sattar  Department of Computer Science, Anugrah Memorial College, Gaya, India

Keywords:

Automated Software Testing, Test Case Optimization, Object Oriented Programming, Integrated Development Environment. Logical Flaws, Inherent Complexity, Syntax Issues.

Abstract

In today's world, object-oriented programming (OOP) languages are commonly employed in software development. The architecture and design of the Integrated Development Environment (IDE) models is constantly updated and modified to facilitate programming practice, keeping in mind the popularity of OOP languages. However, a huge percentage of syntactic and logical errors are caused by complicated programming structures and the inherent complexity of underlying applications. Although syntax issues are easier to identify during compilation, the majority of IDEs fail to detect logical flaws, resulting in not just debugging costs but also milestone delays. The goal of this study is to provide a new design model for IDEs that will allow them to detect logical mistakes. This will make it easier for developers to spot logical problems sooner in the development process, resulting in reduced development time and on-time milestone delivery. The proposed model will be implemented as a working Python IDE application and compared to other current state-of-the-art products on the market. The amount of logical mistakes found will be used to assess the proposed model's correctness. Python was chosen because of its broad application in Artificial Intelligence and Data Science. Machine learning approaches have been used to the process of student modelling, particularly in the development of tutors to help students learn to programme. These were created for a variety of languages (Pascal, Prolog, Lisp, C++), as well as programming paradigms (procedural and declarative), but never for Java object-oriented programming. Using inconsistencies between a student and the right software, JavaBugs automatically creates a bug library. While other studies look at code snippets or UML diagrams to infer student knowledge of object-oriented design and programming, JavaBugs looks at a complete Java programme and finds the most similar correct programme to the student's solution among a collection of correct solutions, then uses similarity measures and background knowledge to build trees of misconceptions. Experiments demonstrate that JavaBugs can find the most comparable correct programme 97 percent of the time, as well as discover and detect 61.4 percent of expert-identified student mistakes.

References

  1. Beltramelli, T. (2018, June). pix2code: Generating code from a graphical user interface screenshot. In Proceedings of the ACM SIGCHI Symposium on Engineering Interactive Computing Systems (p. 3).ACM.
  2. Parnianifard, A., Azfanizam, A., Ariffin, M. K. A. M., & Ismail, M. I. S. (2017). An overview on robust design hybrid metamodeling: Advanced methodology in process optimization under uncertainty.
  3. Mongkhonvanit, K., Zau, C. J. Y., Proctor, C., & Blikstein, P. (2018, June). Testudinata: a tangible interface for exploring functional programming. In Proceedings of the 17th ACM Conference on Interaction Design and Children (pp. 493-496). ACM.
  4. Daniel, B. K. (2018). Reimaging Research Methodology as Data Science. Big Data and Cognitive Computing, 2(1), 4.
  5. Berger, E. D., Hollenbeck, C., Maj, P., Vitek, O., & Vitek, J. (2019). On the Impact of Programming Languages on Code Quality. arXiv preprint arXiv:1901.10220.
  6. Xie, B., Loksa, D., Nelson, G. L., Davidson, M. J., Dong, D., Kwik, H., ... & Ko, A. J. (2019). A theory of instruction for introductory programming skills. Computer Science Education, 1-49.
  7. Colapinto, C., Jayaraman, R., & Marsiglio, S. (2017). Multi-criteria decision analysis with goal programming in engineering, management and social sciences: a state-of-the art review. Annals of Operations Research, 251(1-2), 7-40.
  8. Wyrich, M., Graziotin, D., & Wagner, S. (2019). A theory on individual characteristics of successful coding challenge solvers. PeerJ Computer Science, 5, e173.
  9. Ketschau, T. J., & Kleinhans, J. (2019). Concept and Implementation of a Two-Stage Coding Scheme for the Development of Computer-Based Testing (CBT)-Items in Traditional Test Software. J, 2(1), 41-49.
  10. Samara, G. (2017). A Practical Approach for Detecting Logical Error in Object Oriented Environment. arXiv preprint arXiv:1712.04189.
  11. Deulkar, K., Kapoor, J., Gaud, P., & Gala, H. (2016). A novel approach to error detection and correction of c programs using machine learning and data mining. International Journal on Cybernetics & Informatics, 5(2), 31-39.
  12. Lee, J., Song, D., So, S., & Oh, H. (2018). Automatic diagnosis and correction of logical errors for functional programming assignments. Proceedings of the ACM on Programming Languages, 2(OOPSLA), 158.

Downloads

Published

2019-03-30

Issue

Section

Research Articles

How to Cite

[1]
Ranjeet Kumar, Prof. Dr. Ramdip Prasad, Arif Md. Sattar, " Automated Software Testing Analysis on Test Case Optimization and Test Case Levels on Java and Python, International Journal of Scientific Research in Science, Engineering and Technology(IJSRSET), Print ISSN : 2395-1990, Online ISSN : 2394-4099, Volume 6, Issue 2, pp.812-819, March-April-2019.