테스팅(Testing)은 소프트웨어의 규모가 점점 커지면서 최근 들어 그 필요성이 더욱 강조되고 있습니다.
오늘은 테스팅의 기본적인 7가지 원칙에 대해서 포스팅 하도록 하겠습니다.
원리 1 - 테스팅은 결함이 존재함을 밝히는 활동이다.
● 테스팅은 소프트웨어의 잠재적인 결함을 줄일 수는 있지만 결함이 전혀 발견되지 않는 경우라도 해당 소프트웨어에 결함이 없다고 증명할 수 없음.
● 테스팅은 결함이 존재함을 밝히는 활동이다.
● 모든 가능성(입력과 사전 조건의 모든 조합)을 테스팅하는 것은 불가능
● 일반적으로 완벽한 테스팅이 불가능한 이유는 다음과 같다.
1. 무한 경로 - 프로그램에는 너무 많은 실행 결로가 있어 모두 테스트 할 수 없음.
2. 무한 입력값 - 가능한 입력 값의 조합이 너무 많아서 모두 테스트 할 수 없음.
3. 무한 타이밍 - User Interface가 복잡하고, GUI 이벤트 발생 순서의 모든 조합을 완벽하게 테스트할 수 없음.
● 테스팅 활동은 소프트웨어 개발 주기에서 가능한 초기부터 시작해야 함.
● 결함은 소수의 특정 모듈에 집중되어 발생하고 고장(Failure)을 초래하는 경향을 보임.
● 일반적으로 결함이 집중 될 수 있는 모듈은 다음의 특성을 가지고 있음.
1. 자체적으로 복잡한 구조를 가지고 있는 모듈
2. 시스템의 다른 부분 또는 다른 모듈과 복잡한 상호 작용을 하는 모듈(복잡한 인터페이스)
3. 개발 난이도가 높거나 최신 기술을 사용한 모듈
4. 기존에 개발된 것을 재 사용하지 않고 새롭게 개발한 모듈
5. 크기가 큰 모듈 / 경험이 미흡한 개발 팀에서 개발한 모듈
● 동일한 테스트를 반복 수행하면 해당 테스트에 면역이 생겨 새로운 버그를 더 이상 찾지 못함 .
● 새로운 결함이나 미처 발견하지 못한 결함을 찾기 위해서는 테스트 케이스 업데이트가 중요함.
● 테스트는 정황에 따라 다르게 진행해야 한다. 예를 들어 안전이 최우선인 소프트웨어는 Web 사이트를 검증할 때와는 다른 방식이 필요함.
● 개발한 제품이 사용자의 필요와 기대에 부응하지 못하고 쓸모가 없다면 결함을 찾는 활동은 의미가 없음.
● 사용자의 요구를 충족시키지 못하면 결함이 없어도 품질이 높다고 볼 수 없음.
● 개발한 제품은 요구 사항과 일치하고 사용에 적합해야 함.
마무리하면서 소프트웨어 테스트의 7가지 원칙의 내용을 바탕으로 성공적인 테스팅이란? 무엇인지 정리해 보았습니다.
오늘도 즐거운 하루 되세요.
'유용한 정보들' 카테고리의 다른 글
텍스트 에디터 지니(Geany) 사용 방법 (0) | 2020.08.29 |
---|---|
윈도우 단축키를 알면 힘이 된다 (0) | 2020.07.19 |
IFTTT 활용 내일 비오면 문자 부탁해~ (0) | 2020.07.05 |
IFTTT를 활용한 나만의 IT 비서 만들기 (0) | 2020.06.27 |
지니(Geany) 설치 방법 및 사용법 (0) | 2020.06.14 |