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 |
댓글