현업에서 테스트를 진행하다 보면 Ad-hoc 이란 단어와 탐색 테스트라는 단어를 듣게 되는데 둘의 차이점을 조금이나마 인지하기 위해 작성을 해봅니다. 🔍 Ad-hoc Testing 사전에 정의된 테스트 계획 없이 테스터가 임의로 테스트를 실행하는 접근 방식이다. 테스트 준비 작업을 거치지 않으며, 테스트 설계 기법을 적용하지 않고, 예상 결과를 사전에 정의하지 않는다. 주로 테스트 활동을 빠르게 수행하고자 할 때 사용된다. 사전 계획 없이 빠르게 테스트를 진행하며, 특정 결함이나 문제를 발견하는 데 초점을 맞출 수 있다. 🔍 탐색적 테스팅 테스터가 도메인 지식과 경험을 활용하여 테스트를 설계하고 실행하는 방법이다. 주로 소프트웨어의 미리 정의된 요구사항이나 테스트 케이스에 의해 잘 파악되지 않은 결함이나..
모바일 앱을 사용/검증 하다보면 가끔 앱의 종류에대해 헷갈리는 경우가 있습니다. 오늘은 이런 부분들을 정리하고자 합니다. 📱 네이티브 앱 (Native App)? 안드로이드나 IOS 용으로 나눠서 만들어진 앱으로 각각의 플랫폼에서 제공하는 언어를 이용해서 만들어진 앱 대표적인 네이티브 앱으로는 카카오뱅크, 유튜브가 있다. ✔️ 장점 Android, iOS 기반의 API로 개발하여 속도가 빠르고 안정적이다. 성능이 웹앱, 하이브리드 앱에 비해 가장 높다. ✔️ 단점 Android와 iOS의 호환이 되지 않아 모바일 운영체제에 따라 별도 개발과 관리가 필요하다. (요즘은 하나의 코드로 ) 앱 수정, 추가 개발을 했을 경우 앱스토어에 심사 요청 및 승인 후에 업데이트가 진행되어야 한다. 📱 모바일 웹 & 모바..
소프트웨어 테스팅 7가지 기본 원칙에서도 나오듯 완벽한 테스팅은 불가능하다. 그렇다면 어떻게 해야 좀 더 효율적으로 결함을 발견할 수 있을까? 🤔 여러 가지 방법이 있겠지만 기본적으로 리스크기반 테스트를 주로 사용한다. 🤷♂️ 리스크 기반 테스트? 테스트 대상에 비해서 테스트 자원이 부족한 경우, 우선순위를 나눠서 테스트 자원을 효율적으로 분배하기 위한 테스트 전략이다. 비즈니스, 기술 상의 위험을 정량적으로 측정하여 우선 순위가 높은 부분에 주어진 테스팅 자원을 집중하여 전체적인 영향을 줄이기 위한 테스트 전략이다. 리스크란 “장애 발생 가능성” X “장애로 인한 영향” 으로 정의된다. 장애 발생 가능성이란, 복잡성, 새로운 개발의 정도, 상호관계, 소스 코드의 크기, 사용 기술의 난이도/최신성, 개..
기획서를 보면서 테스트 범위를 선정하다 가끔 정리가 힘들 때가 있다. 뭐 간단한 체크리스트라던가 생각을 정리해보고 싶을 때 Mind Map을 이용해 보는 걸 추천합니다! 🤔 마인드맵(Mind Map)? 마인드맵(Mind map)은 마치 지도를 그리듯이, 자신이 여태까지 배웠던 내용이나, 자기 관리 등을 할 수 있는 방법이다. 마인드맵은 계층 구조이며 전체의 조각들 간 관계를 표시하고 정리하는 과정이다. 🔻마인드맵을 효과적으로 사용하기 위한 7가지 원칙 종이의 중심에서 시작한다. 중심 생각을 나타내기 위해 이미지나 사진을 이용한다. (3가지 이상의 색깔) 전체적으로 색깔을 사용한다. 중심이미지에서 주가지로 연결한다. 주가지의 끝에서부터 부가지로 연결한다. 그리고 부가지의 끝에서 세부가지를 연결한다. 구부리..
일반적으로 셀레니움을 진행하다 보면 NoSuchElementException에러를 종종 발견할 수 있다. 대부분 시간적인 이슈로 발생하는 에러이다. (통신 중, 또는 요소를 불러오는 도중 코드 실행) 이럴 때 주로 시간대기를 이용해서 해결할 수 있다. 1. Time.sleep Python의 sleep 같은 경우에는 인수로 ms 단위가 아닌 초(sec) 단위의 숫자를 받기 때문에 사용하기에 매우 직관적이다.그렇기 때문에 간단한 대기나 짧은 시간의 대기 정도는 sleep()을 사용해서 대기를 하는 것도 좋다. ▶︎ 예시 import time driver.get('http://naver.com') #사이트 진입 time.sleep(2) #2초대기 time.sleep(0.5) #0.5초대기 2. 암시적 대기 (..
QA 직군에 있다면 누구나 한 번쯤은 "어떻게 하면 더 나은 테스트 케이스를 작성할 수 있을까?"라는 생각을 해봤을 겁니다. 필자 역시 아직도 고민을 하는 중이고 많은 예시들을 보고 배우는 중이다. 내 머릿속에 있는 내용들을 간단하게 정리를 해보려 합니다. 테스트 케이스(Test Case)? 명세 기반 테스트의 설계 산출물로 설계된 입력값, 실행 조건, 기대 결과로 구성되어 있는 테스트 항목의 명세서를 의미한다. 테스트 케이스의 목적은 기능 누락 방지이다. 🙆♂️ 좋은 테스트 케이스란? 정확성(Accurate): 테스트 케이스의 서술 부분에 테스트하겠다고 쓴 것을 테스트한다. 경제성(Economical): 테스트 케이스 목적을 위해 꼭 필요한 단계/필드 만을 가진다. 반복성, 자립형(Repeatable..