Thief of Wealth
Published 2020. 7. 3. 14:02
3. SW 테스트 개발/QA

Beizer의 소프트웨어 테스트 진화 과정.

 

레벨1 (Debugging oriented)

- 테스트와 디버깅의 차이가 없다.

- 즉, 우연히 발견된 오류를 수정하는 디버깅에 중점을 두며, 프로그램의 오류를 찾기위한 별도의 노력을 기울이지 않는다.

- 테스트를 안하는 조직.

 

레벨2 (Demonstration oriented)

- 프로그램이 올바르게 동작한다는 사실을 입증하기 위해 테스트를 수행한다.

- 단순히 동작기능만 테스트하는 조직

 

레벨3 (Destruction oriented)

- 프로그램에 결함이 존재함을 보여주기 위해 테스트를 수행한다.

- 결함을 발견하기 위한 의지를 가지고 테스트

 

레벨4 (Evaluation oriented)

- 소프트웨어 개발 후에 결함을 찾는 것이 아닌, 개발 전 단계에 발생하는 결함을 발견하는 개념으로 확장.

- 초기 단계 부터 테스트를 수행

 

레벨5 (Prevertion oriented)

- 프로그램의 오류를 사후에 발견하는 것이 아닌, 아예 결함이 발생하지 않도록 사전에 방지하자는 개념.

- 프로그램을 개발할때 처음부터 테스트가 용이하게 시스템을 설계.

- 테스트 용이성을 고려하여 프로그램을 설계.

- 이상적인 조직.

 

 

 

SW 테스트 한계

 

테스트는 결함이 존재함을 보일 수 있지만, 결함이 없다는 것을 보일 수는 없다.

현실적으로 모든 것을 테스트할 수는 없다.

 

SW 테스트 고려사항.

 

- 테스트는 반드시 프로그램을 개발한 프로그래머나 팀과는 무관한 그룹에 의해서 수행되어야 한다.

- 테스트 작업을 가장 능력이 뛰어난 사람에게 할당해야 한다.

- 오류가 발견되지 않을 것이란 가정하에서 테스트 계획을 수립해서는 안된다.

- 타당한 경우 뿐만 아니라 타당하지 않고 예상하지 못한 경우들에 대해서도 테스트를 수행해야 한다.

- 프로그램의 어떤 부분에 오류가 남아있을 확률은 이미 발견된 오류의 수에 직접적으로 비례한다.

- 테스트 케이스를 체계적으로 관리해야 한다.

- 각각의 테스트 결과를 철저하게 점검해야 한다.

 

테스트 용이성 (test ability) 7가지

: 프로그램이 테스트가능한지를 나타내는 특성 도는 요구사항이 테스트로 증명 가능한지를 나타내는 특성.

 

- 제어용이성 (controllability)

: 프로그램의 실행을 제어하기 용이한가? 용이하면 테스트 자동화가능성이 높아짐

 

- 관찰가능성 (observability)

: 프로그램 내부 상태 (중간결과, 최종결과) 를 쉽게 파악할 수 있는가

 

- 단순성 (simplicty)

: 시스템 구조 등을 가능한 한 단순하게 설계되어 있는가

 

- 분할 용이성 (decomposablilty)

: 테스트 대상 모듈을 분리하여 독립적으로 테스트하기 용이한가

 

- 운영 용이성 (operability)

: 프로그램이 오적동하여도 테스트 작업을 계속할 수 있는가

 

- 안정성 (stability)

: 테스트 동안에 소프트웨어 변경이 자주 발생되지 않도록 설계했는가

 

- 이해 용이성 (understandability)

: 소프트웨어 설계 정보가 잘 조직화 되어 쉽게 이해할 수 있는가.

 

 

품질특성예

 

- 기능적합성

: 시험 대상 제품의 기능 정상작동 여부.

ex) 화면에서 웹 접속현화에 대한 통계 데이터가 0으로 표시됨.

 

- 성능효율성

: CPU, Memory 사용량의 목표 성능정의

 ex) 웹페이지 링크 클릭시 1분 후에 화면 표시가 시작됨.

 

- 호환성

: 다른제품과 충돌없이 동작 가능한가 확인

ex) 결재모듈의 보고서 표시를 위한 한글 2015와 연동되지 않음.

 

- 이식성

: 버전업 제품의 경우 이전버전과 데이터 호환여부 확인

ex) Window10 OS에서 제공된 설치파일로 프로그램이 설치안됨.

 

- 신뢰성

: 비정상종료 발생을 확인, 이중화 및 데이터 복구기능도 확인

ex) 관리맵에서 단말노드 변경시, 자산 관리 맵이 비정상적으로 삭제됨.

 

- 유지보수성

: 프로그램 운영 중 발생할 수 있는 문제에 대한 해결 정보 여부 확인

ex) 사용자 메뉴얼에 SW사용 중 발생할 수 있는 오류의 증상과 원인에 대한 정보가 제공되지 않음.

 

- 일반적요구사항

: 제품 운영을 위한 정보 제공 여부 확인 (제품설명서 정보제공, 공급자/고객지원 정보제공 여부 등)

ex) 고객지원센터 연락처 정보가 제공되지 않음.

 

- 사용성

: 용어 일관성, 화면 깨짐 등 확인

ex) 화면에 표시되는 환자 첫진료와 환자 초진이라는 용어가 일관되지 않음

 

- 보안성

*기밀성: 접근통제, 입력값 검사, 데이터 암호화, 내부노출방지, 권고 암호 알고리즘 사용

ex) 관리자가 미사용인데 관리자계정으로 로그인됨

*무결성: 파일 무결성 검사, 데이터 파손 방지

*부인방지성: 전자서명 사용

*책임성: 감사 로그 기록, 감사 로그 보유

*인증성: 인증 방법, 인증규칙

 

profile on loading

Loading...