A Case Study on the Improvement of Software Test Effectiveness through Static Testing

정적 테스트를 통한 소프트웨어 테스트 효율성 향상에 대한 사례 연구

  • 김효영 (LG전자 S/W & S센터 S/W Engineering Gr.) ;
  • 한혁수 (상명대학교 소프트웨어학부)
  • Published : 2007.04.15

Abstract

Not enough verification or enough design of test is not performing in many software developments organization as yet. Therefore, defects that can be detected and corrected during the beginning phases of development are usually found during dynamic testing, it is often observed that testing is inefficient compared to effort for testing. This study aims to suggest a method for effective testing through case study. It is useful in case of not verification and not enough design of test in the previous phase than coding. We show in a concrete way major activities that determine prioritization of testing and level of test case design through static testing, i.e. code review and analysis of code quality. And also we show role between test team and development team.

아직까지 소프트웨어 개발조직에서는 사전검증 활동 및 충분한 테스트 설계가 수행되지 않고 있으며, 따라서 개발 초기에 식별, 수정될 수 있는 결함들까지 테스트시 검출되기 때문에 투입 노력 대비 테스트의 효율성은 떨어진다. 이러한 문제의식을 바탕으로 본 논문은 구현이전단계에서의 사전검증이 수행 되지 않고, 테스트 케이스 설계가 충분히 진행되지 않은 경우에 테스트의 효율성을 향상시킬 수 있는 방법을 실사례를 통해 제안하고 있다. 테스트 단계에서의 코드 리뷰와 코드 품질 분석을 통해 테스트 우선순위 선정, 테스트별 테스트 케이스 설계 등의 주요 활동과 테스트팀과 개발팀과의 역할을 구체적으로 제시한다.

Keywords

References

  1. 한동수, 정인상, software test 입문, VI Land, 2004
  2. W.S.Humphrey, Managing the Software Process, Addison-Wesley, 1990
  3. M.E Fagen, 'Advances in Software Inspection,' IEEE transactions on Software Engineering, Vol 12, issue 7, pp.744-751, 1986
  4. D.Graham, Software Inspection, Addison-Wesley, 1993
  5. B.Hailpern, P.Santhanam, 'Software debugging, testing, and verification,' IBM System Journal, Vol.41, No.1, pp.4-12, 2002 https://doi.org/10.1147/sj.411.0004
  6. R. S. Pressman, Software Engineering: A Practitioner's Approach, McGraw-Hill, New York, 1992
  7. Ram Chillarege, 'Software Testing Best Practices,' IBM Technical Report RC 21475, Center for Software Engineering IBM Research, 1999
  8. M.E.Fagen, 'Design and code inspections to reduce errors in program development,' IBM Systems Journal, Vol.15, pp.182-211, 1976 https://doi.org/10.1147/sj.153.0182
  9. D.Winkler, S. Biffl, B. Riedl, 'Improvement of Design Specifications with Inspection. and Testing,' Proc. Of Euromicro 05, pp.222-230, 2005 https://doi.org/10.1109/EUROMICRO.2005.30
  10. O. Laitenberger, 'Studying the Effects of Code Inspection and Structural Testing on Software Quality,' Proc. 9th Int'l Symp. Software Reliability Eng., IEEE CS Press, pp. 237-246, 1998 https://doi.org/10.1109/ISSRE.1998.730887
  11. V.R. Basili, R.W. Selby, Comparing the effectiveness of software testing techniques. IEEE Transactions on Software Engineering, pp.1278-1296, December 1987 https://doi.org/10.1109/TSE.1987.232881
  12. B. Beizer, Software Testing Techniques, International Thomson Publishing Inc., 2nd deition, 1990
  13. M.Wood, M.Roper, A.Brooks, and J. Miller, Comparing and Combining Software Defect Detection Techniques: A Replicated Empirical Study, in Proceedings of the 6th European Software Engineering Conference, p.262-277, 1997 https://doi.org/10.1145/267896.267915
  14. C. Michael, S.R. Lavenhar, Source code analysis tools overview. http://buildsecurityin.uscert.gov/portal/tools/code_analysis/overview.xml, September 2005. Published via the U.S. Department of Homeland Build Security In website
  15. B. Chess, G. McGraw. Static analysis for security. Security & Privacy Magazine, IEEE, pp.76-79, 2004
  16. M.Pizza, L.Strigini, 'Comparing the effectiveness of testing methods in improving programs: the effect of variations in program quality,' Proc. Ninth International Symposium on Software Reliability Engineering ISSRE '98, Paderborn, Germany, IEEE Computer Society Press, pp.144-153, 1998
  17. P. Frankl, O. Iakounenko, 'Further Empirical. Studies of Test Effectiveness,'SIGSOFT '98, Nov,. pp.153-162, 1998 https://doi.org/10.1145/288195.288298
  18. Y.Chernak, 'Validating and Improving Test-Case Effectiveness,' IEEE Software, January-February, pp.81-86, 2001 https://doi.org/10.1109/52.903172
  19. D.Brand, 'A Software Falsifier,' Proceedings, Eleventh IEEE International Symposium on Software Reliability Engineering, San Jose, CA, pp.174-185, 2000
  20. McCabe, A Complexity Measure, IEEE Transactions On Software Engineering, Vol.Se-2, No.4, December, pp.308-320, 1976 https://doi.org/10.1109/TSE.1976.233837