wjdtmfgh.log
로그인
wjdtmfgh.log
로그인
테스트
Jeong seulho
·
2023년 5월 9일
팔로우
0
소프트웨어 공학
0
소프트웨어 공학
목록 보기
24/25
📌verification approaches
📖Testing
테스트
장점 : 버그를 찾으면 확실하게 버그라고 단정지을 수 있다(no false positive)
단점 : 완전하지 않음, 못 찾는 경우 존재
버그를 존재하는 것을 증명할 수 있지만 버그가 없다고 증명할 수 없다
📖Static verification
가능한 모든 인풋, 경우의 수를 고려하는 것
장점 : 완전함(모든 경우의 수 고려)
단점 : 버그를 찾게되어도 그것이 실제 고쳐할 버그인지 단정지을 수 없다(false positive 존재)
📖Inspections
그룹이 모여 코드를 한줄씩 모두 읽어보면서 버그를 찾는 것
장점 : 철저함, 체계적
단점 : 주관적
📖Formal proofs of correctness
수학적으로 프로그램의 동작을 증명하는 것
장점 : 강한 보장성
단점 : 비용이 많이 들고 전문성이 필요
📌일반적 테스트 방법
test input을 넣어서 출력되는 output이 기대하는 output과 같은지 확인
📌Test Enviroment
Driver : 테스트를 실행하는 프로그램
Stub : 함수A를 테스트하고 싶은데, 해당 함수안에 다른 함수 B가 존재한다면, B의 역할을 하는 임의의 보조 함수를 지칭(B가 아직 구현안됬거나, 테스트를 아직 통과하지 못했을 때)
📌Test Case design
📖Test Case design 고려해야 할 것
결함을 발견하는 것을 목적으로 한다
어떤 측면에있어서 빠짐없이 디자인 해야 한다
비용과 시간을 최소화 해야한다
정상적인 input뿐만 아닌 비정상적인 input에대한 테스트도 해야한다(프로그램이 그냥 DOWN되는게 아닌, 비정상적인 input입니다 오류 메세지 출력 등이 필요)
버그가 발견된 부분은 다른 input에대한 버그도 존재할 확률이 더 높다
📌Test vs Debugging
Test : 결함을 찾는 과정
Debugging : 찾은 결함의 위치를 찾고 고쳐가는 과정
📌Test Approaches
테스트의 주체(개발자, 고객) 또는 테스트 범위 등에 따라 나뉨
인수 테스트 : 고객이 하는 시스템 테스트
회귀 테스트 : V1에서 V2로 업그레이드시 V1를 통과한 케이스가 V2에서도 통과하는지 확인
alpha test : 개발자들 또는 회사 내부에서의 테스트(너그러움)
beta test : 개발자들 외부에서의 테스트(엄격함)
Jeong seulho
팔로우
이전 포스트
리팩토링
다음 포스트
블랙/화이트 박스 테스팅
0개의 댓글
댓글 작성