QA 7

Edge Case and Corner Case

리그레션 테스트를 진행하는 도중에 간헐적으로 생기는 에러가 있었다. 같은 조건 그리고 다른 모든 케이스로 재현해봐도 같은 에러가 생기진 않고.. 아주 가끔 발생했다. Data sync 문제라 예상하고 백로그에 Defeat Story를 만들어 담당자에게 할당했다. 개발자가 스킴하곤 엣지 케이스 갔다고 다음 스프린트 때 처리하자고 했다. 그래서 엣지 케이스? 그게 뭐지 알아봤고 정리해두고자 한다. Edge Case: 소프트웨어 테스트에서 엣지 케이스는 작동 매개변수의 극단에서 발생하는 문제이다. 사용자는 엣지 케이스를 거의 경험할 수 없다. 앱이나 웹 사이트에서 발생할 수 있는 흔한 엣지케이스들이 있다. 예를 들어, 응용프로그램의 충돌, 페이지 로드의 지연 그리고 오디오 문제가 있다. 이러한 문제는 모든 사..

QA 2023.06.20

API testing guidelines

오늘은 QA 매니저님이 API testing guidelines 미팅을 해주셨다. User story에 있는 AC와 관계없이 API 테스트를 진행한다면 무조건 해당 사항 테스트가 선행되어야 한다고 했다. API 테스트는 middleware 테스트여서 관련해서 end-to-end 테스트를 원한다면 따로 인터페이스를 연동하여 진행해야 한다. 아래의 과정에서 버그 발견하면 해당 user story에 highlight 해놓는다. 1. Happy scenario testing 진행 2. Payload 파악 -> value가 optional인지 mandatory인지 파악해야한다. 3. Negative scenario testing 진행 -> 예상한 error 반응이 나오는지 3-1. GET: url data, he..

QA 2023.04.05

Smoke Testing vs Regression Testing

스모크 테스팅? 리그레션 테스팅? 계속해서 말하고 스프린트에 등장하고 나도 그걸 돕는 거 같은데.. 이론적으로 정확히 알고 싶어서 검색하고 있었는데.. QA팀장님이 뒤에서 보더니 그걸 왜 검색하냐고 여기 전문가들이 있는데 하면서 설명해주셨다. Smoke Testing: SW를 stage로 올리기 전 진행하는 high-level test이다. Smoke testing 통과 후 여러 다른 테스트를 수행한다. 다른 테스트 전에도 진행 할 수 있지만 보통은 빌드 전, Smoke test -> Regression Test 종료 후 stage로 올려 UX단의 테스트도 마친 후 빌드한다. 이 단계에서는 중요 기능이 잘 작동하는 지, TCL(Test Case List)에서 poor requirement만 추려 ene-..

QA 2023.04.03

Production Environments

회사에서 테스트를 하다보면 테스트할 branch를 불러와서 도커로 띄어야 하는데 이때 어느 환경에 있는 걸 띄우는지.. 또는 상사가 가끔 지금 어디 환경에 있는거 다운 받아서 ui테스트 하는 건지 물어본다. 그래서 한 번쯤 확실하게 정리해 두면 좋을 거란 생각을 했다. 조대협님이 정리를 너무 잘해주셔서 해당 블로그를 보고 많이 배우고 요약해보았다. local env: 각자 개발자 pc에 개발 및 테스트 환경이 셋업되어 있어야 하며, 설치된 서버 환경을 local 환경이라고 한다. local 환경 구축시 가장 주의해야 할 점은 모든 개발자가 같은 개발 환경을 사용해야한다는 것이다. 이를 위해 전체 개발 환경을 zip 파일의 형태로 묶어서 사용하는 방법을 가장 일반적으로 사용한다. dev env: 개발 환경..

QA 2023.03.28

머신러닝 분류 모델 성능 평가 지표

요즘 인턴하는 회사에서 신사업 외주 맡긴 건을 맡아서 성능 분석하고 있다. 합의하의 시나리오를 짜서 외주 모델을 검증하고 있는데 간만에 본 SPO님한테 한 요청이왔다. 나는 항상 분석을 해서 주마다 해당 개발팀장님에게 넘겨주었는데, 팀장님이 내가 준 자료를 그대로 들고가서 회의에 참가했다고 한다. 헌데 비지니스 그룹에선 이해하기 힘들다는 이야기였다. 그래서 SPO님이 먼저 해당 신사업 진행을 결정 할 수 있는 숫자를 요청했다. 그때 머신러닝 시간때 배운 평가 지표가 생각나서 작성해서 드렸다. 작성하면서, 한 번 기록해놓으면 나중에 찾아볼 때 좋을 것 같아 이렇게 글을 적는다. Confusion Matrix Actual 1 0 Expected 1 True Positive False Positive 0 Fa..

QA 2023.03.27

JMeter를 알아보자!

Apache JMeter는 부하테스트와 성능 측정을 위해 100% Java로 작성된 오픈 소스 소프트웨어이다. JMeter 홈페이지에 가서 zip파일로 다운 받아서 압축을 푼 다음, bin 폴더 아래 ApacheJMeter.jar 파일을 실행시켜준다. 순수 자바로 작성되었기에 무조건 자바가 설치되어 있어야 한다. 프로그램을 실행시키면, Test Plan이 있는데 이를 통해 웹서버를 테스트하는 계획을 세울 수 있다. 오른쪽 클릭해서 Add → Threads → Thead Group 을 눌러준다. * Number of Threads (users): 몇 사람이 동시에 접속하는 지 설정한다. * Loop Count: 설정해준 값 만큼 각 유저가 접속한다. 설정 후, Add → Sampler → HTTP Requ..

QA 2023.02.07

[스압주의] QA 톺아보기 (+WEST program)

현재 한국정부가 지원하는 WEST프로그램을 통해 미국에 파견되있다. 보통 소프트웨어 인턴십으로 선발이 잘 되지 않고 마케팅직무로 선발된다는데 스폰서와 관계를 잘 쌓은 덕분인지 운이 좋게 소프트웨어 인턴십을 수행할 수 있는 회사에서 오퍼레터를 받게 되었다. 8개월의 장기인턴이고, 회사가 제조업베이스라 슈퍼바이저는 QA를 먼저 배우라고 지시했다. Shadowing work를 하며 한 달 반을 보낸뒤, 드디어 내가 기여할 일이 생겼다. 그 전에 소프트웨어엔지니어링 강의 때 들어만 본 Quality Assurance 업무가 무엇인지 다시 한 번 머리 속으로 정리하고 기록해두려 한다. 당연히 QA는 중요하다. QA가 제대로 이루어지지 않으면 생각도 못했던 자본 손실이 나타날 수 있다. 테스터는 여러가지 일을 담당..

QA 2022.12.31