DOI QR코드

DOI QR Code

Effort Analysis of Unit Testing Conducted by Non-Developer of Source Code

원개발자 부재에 따른 원시코드 기반의 단위테스트 노력 분석

  • 윤회진 (협성대학교 컴퓨터공학과)
  • Received : 2012.07.27
  • Accepted : 2012.11.21
  • Published : 2012.12.31

Abstract

Unit testing is one of the test levels, which tests an individual unit or a group of related units. Recently, in Agile Development or Safety-critical System Development, the unit testing plays an important role for the qualities. According to the definition of unit testing, it is supposed to be done by the developers of units. That is because test models for the unit testing refers to the structure of units, and others but its original developers hardly can understand the structures. However, in practice, unit testing is often asked to be done without the original developers. For example, it is when faults are revealed in customer sites and the development team does not exit any more. In this case, instead of original developers, other developers or test engineers take a product and test it. The unit testing done by a non-developer, who is not the original developer, would cause some difficulties or cause more cost. In this paper, we tests an open source, JTopas, as a non-developer, with building test models, implementing test codes, and executing test cases. To fit this experiment to practical testing situations, we designed it based on the practices of unit testing, which were surveyed through SPIN(Software Process Improvement Network). This paper analyzes which part of unit testing done by non-developers needs more effort compared to the unit testing done by original developers. And it concludes that Agile Development contributes on reducing the extra effort caused by non-developers, since it implements test codes first before developing source code. That means all the units have already included their own tests code when they are released.

Keywords

References

  1. 포레스터 리서치, Enterprise Agile Adoption in 2007, 2008.
  2. Abhishek, C., V. P. Kumar, et al., "Test Effort Estimation Using Neural Network", Journal of Software Engineering and Applications, Vol.3, No.4(2010).
  3. Ammann, P. and J. Offutt, Introduction to Software Testing, 2008.
  4. Companion Software, Graph Coverage Web Application, "http://cs.gmu.edu:8080/offutt/coverage/GraphCoverage", 2007.
  5. Gartner Group, Predicts 2010 : Agile and Cloud Impact Application Development Directions. http://www.gartner.com/DisplayDocument?id = 1244514.
  6. Kieth, C., "Agile Game Development", GDC proceeding, 2007.
  7. Koomen, T. and M. Pol, Test Process Improvement- A Practical Step-by-Step Guide to Structured Testing, Addison-Wesley, 1999.
  8. Page, A. and K. Johnston, How We Test Software at Microsoft, Microsoft Press, 2008.
  9. Runeson, P., "A Survey of Unit Testing Practices", IEEE Software, Vol.23, No.4(2006), pp.22-29
  10. Sommerville, Software Engineering 8th edition, Addison-Wesley, 2007.
  11. Utting, M., A. Pretchner, and B. Legeard, "A taxonomy of model-based testing approaches", Software Testing, Verification and Reliablility, Vol.22, No.5(2012), pp.297-312. https://doi.org/10.1002/stvr.456
  12. VersionOne, 3rd Annual Survey:State of Agile Development Survey, http://pm.versionone.com/whitepaper_AgileSurvey2008.html, 2009.