software Testing

Kimsu·2023년 7월 12일
0

소프트웨어 테스팅이란?

제대로된 소프트웨어를 개발했는가 소프트웨어는 제대로 동작하는가

왜 테스트를 하는가

제품시점
결함 확인, 사전방지, 시간절약

개발단게에서 결함을 확인해야..

개발자적시점
구조개선, 품질개선, 확장성

빠르게 문제를 파악하여 시간과비용을 절감할 수 있으며,
리펙토링시 안정성을 확보할 수 있다.
잘 짜여진 테스트코드는 함수에대한 문서로 활용할 수 있다.

TDD

Manual Testing

이제까지 우리가했던것들이 메뉴얼테스팅이라고 볼 수 있다.

사람이 직접하다보니 항상 같은결과가 나오기 힘들어서 불안정성이 높고 테스트 속도가 느리다.
또한 인력소모가 증가하여 비용이 증가한다.

Authomation Testing

안정성이높아지고 테스트속도 및 확장성이 높다.

E2E(End-to-End) Tests

유저의 시작부터 끝까지 전부 테스트 하는것
전체적인 플로우

프론트엔드가 자동화를 할때 cypress를 많이 사용한다.

Integration Tests()

백은 백끼리 프론트는 프론트끼리 한쪽 서버만 띄워놓고 하는 테스트
모듈간의 호환성 검증

unit Test

테스트를 하는 가장작은단위(보통 함수)를 테스트하는 것으로 테스트과정이아닌 input과 output에 중점을 둔다
분기처리가 된부분(예외처리)도 함수처리해야한다.

코드 커버리지

테스트가 코드르 얼마나 커버하는지에 대한 정도를 나타내는 지표
함수커버리지 =실행된 함수 개수/ 총 함수개수100
구문커버리지 = 실행된 구문 수 /전체 구문수 8100
조건 커버리지 = 각 조건만다 true false한번의 개수/ 전체조건수 ^2
100
분기커버리지 = 실행된 분기 수 /총 분기의 개수 *100

0개의 댓글