본문 바로가기
JAVA

QA란? - 크로스 브라우저 테스팅, 테스팅 툴, 사이트 추천

by B_E_D 2023. 4. 16.

Quality Assurance

 

cross-borowser testing

크로스 브라우저 테스팅

- 웹 애플리케이션이 여러 기기의 여러 종류의 브라우저 내에서 정삭적으로 동작하는지

 

 

cross-borowser testing 왜 중요한가?

 

- 브라우저나 브라우저의 버전 혹은 디바이스 별로 작성한 코드가 동일하게 동작할 것이라는 보장이 없다.
- 브라우저 별로 같은 코드를 다른 방법으로 렌더링하기 때문이다.
 
 

cross-borowser testing

 

브라우저에서 기능이 정상적으로 동작하지 않으면 결국 사용자는 떠날 것이다.
여러 브라우저 / 기기 내에서 기능이 정상적으로 일정하게 동작하면서 동일한 경험을 제공해야한다.

 

 

cross-borowser testing을 언제하나요?

 

- 서비스 개발이 끝나고 배포하기 전.
- 지원하는 브라우저에서 모두 동작하는지 확인하기 위한 QA단계에서.

 

 

cross-borowser testing는 누가 하나요?

 

- QA조직이 있는 경우, QA테스터
- 없는 경우, 개발자
- QA 조직이 있다고 하더라도, 개발자가 기본적인 체크 정도는 해주는 것이 좋음
- 모바일 vs 데스크톱 버전과 적어도 크롬과 사파리 정도는 테스트 후 QA에 넘겨주는 배려

 

 

방법

 

- 기능 테스트
- 디자인 테스트
    - 반응형 테스트
    - 모바일 버전 vs 데스크톱 버전
- 수동 / 자동

 

 

BrowerStack

 

- 실시간으로 여러 브라우저/기기에서 사이트를 구동해 볼 수 있는 라이브 테스팅 지원
- 스냅샷 테스팅 지원 = 스크린 샷을 이용한 테스팅 지원
    - Github와 연동해서 브랜치 별 비교 기능
- 모든 해상도가 존재한 것은 아님
- 협업하기 좋은 툴
- 무료 플랫도 충분함



Lambadatest

 

- 스크린샷 뿐만 아니라 실시간으로 여러 브라우저/기기에서 사이트를 구동해 볼 수 있는 라이브 테스팅 지원
- 협업 툴 연동도 가능(Jira / Github / Gitlab / Trello 등)



Quality Assurance

 

functional testing

 

기능 테스팅

- 사용자에게 제공하는 기능들을 테스트하는 것
- 소프트웨어 품질을 보증하기 위해 기능이 정상적으로 예상한대로 동작하는지 확인하는 과정

 

 

기능 테스트 순서

1. 스모크 테스트(Smoke testing)
2. 회귀 테스트(Regression testing)




1. 스모그 테스트(Smoke testing)

 

- 테스트 환경이 테스트 할 만한지, 간단하게 하는 환경 테스팅
    - 빌드가 된 상태여야 함
- 본격적인 테스팅을 할 만한 가치가 있는 빌드인지 확인하기 위한 것
    - 본격적인 테스팅을 한다는 것은 더 많은 리소르를 투입한다는 것
- 서비스의 가장 기본적인(핵심적인) 기능들이 동작하는지 빠르게 검증



2. 회귀 테스트(Regression testing)

 

- 기능 추가 혹은 버그를 수정한 소프트웨어가 수정헤 의해 새로 유입된 오류가 없는지 확인하기 위해 반복해서 테스트를 수행하는 것
    - 버그를 수정한 코드가 다른 종류의 버그를 만들 수도 있기 때문임
- 어디까지 테스트할 것 인가?
    - 이상적인 것은 전체 기능 테스트를 하면 좋음
    - 인력 투입 증가, 비용 증가, 시간도 오래 걸림.
    - 서비스의 핵심 기능 위주로 우선순위를 정해 가장 중요한 N개에 대해 테스트를 진행하기도 함.



기능 테스팅

 

- 프론트엔드 (UI 테스팅)

    - 깨진 링크는 없는지
    - 버튼 클릭은 잘 되는지
    - 서버로 request가 잘 전달 되는지
    - Form 검증 -> 정상/비정상 데이터 삽입

 

- 백엔드 (API 테스팅)

    - response 구조 확인
    - 에러 핸들링이 잘 되어 있는지 확인
- 권한 설정확인
- 보안 테스팅 (패스워드 암호화)
- 등등...

 

 

협업

- Git에서 여러 브랜치로 작업하고 있음
- 배포하기 전 모든 작업물을 모아둔 브랜치(e. g 릴리즈용 브랜치)에서 테스트를 진행
- 각각 피처 브랜치를 머지해서, 추후 피처 브랜치들을 main에 머지했을 때, 예상되지 않은 이슈가 생기는 것을 최대한 방지함.



ㅇㅇㅇ서비스 테스팅

 

1. Staging 환경 추가

    a. Git에 'staging'브랜치 생성
        i. git checkout -b staging
        ii. git push origin staging

 

2. 본격 테스팅

3. Smoke testing 진행

4. Regression testing 진행

    a. (버그 발생시) 버그 수정

    b. 재빌드 및 테스트 재수행

'JAVA' 카테고리의 다른 글

[JAVA]UML 종합  (0) 2023.02.12
[JAVA]스레드  (0) 2023.02.12
[JAVA]자바 IO (2)  (0) 2023.02.11
[JAVA]자바 IO (1)  (0) 2023.02.11
[JAVA]예외처리  (0) 2023.02.10

댓글