시스템 문제 파악 및 해결을 위한 애플리케이션 로그 분석
·
QA성장하기/테스팅 전문 지식 쌓기
애플리케이션 로그란? 시스템 상태, 애플리케이션의 동작, 문제 발생 원인 등을 파악하는 데 중요한 정보를 제공한다.애플리케이션의 내부 동작 추적 및 문제 발생 원인을 분석하며, 전반적인 상태 모니터링에 도움을 준다.애플리케이션 로그 확인 방법리눅스/유닉스 시스템/var/log/app_name/ 또는 /opt/app_name/logs/와 같은 경로에 저장된다.`cat 경로` 또는 `tail -f 경로` 로 파일을 열 수 있다.윈도우C:\Program Files\AppName\logs\ 또는 C:\AppName\logs\와 같은 경로에 저장된다.텍스트 편집기를 사용하여 해당 파일을 열 수 있다.MacOS/var/log/ 경로에 system.log 또는 install.log 파일로 저장된다.Finder 또는 ..
데이터 품질 테스트의 중요성과 테스트 프로세스
·
QA성장하기/테스팅 전문 지식 쌓기
데이터 이해데이터란?컴퓨터가 처리할 수 있는 변수, 문자, 숫자, 영상 등의 형태로 된 자료.연구나 실험, 조사로 얻은 사실을 나타내는 수치로, 의미를 갖지 않은 원소의 상태를 의미한다.데이터를 구조화하여 수집하고, 가공 및 분석을 거쳐 이론의 기초로 사용하거나 유용한 정보를 얻을 수 있다.일반적으로 인사이트를 얻거나, 발생한 현상의 원인 및 미래를 예측하기 위해 데이터를 수집하고 분석한다.데이터 이해데이터 요소란 논리적 데이터의 가장 작은 단위로서, 데이터 집합을 구성하는 각 세부항목을 의미한다.데이터 형식에는 정형 데이터, 반정형 데이터, 비정형 데이터가 있다.정형 데이터정해진 구조에 따라 저장된 데이터로, DB의 열과 행으로 데이터를 저장한다.데이터를 저장하는 장소와 DB 스키마가 분리되어있다.반정..
어뷰징의 의미와 테스트 사례에 따른 대응 방법
·
QA성장하기/테스팅 전문 지식 쌓기
어뷰징 테스트란?어뷰징의 의미자신의 이익을 위해 불법 프로그램 사용, 시스템 허점 이용 및 도덕적으로 옳지 않은 행동을 악용하는 행위.어뷰징 테스트의 의미기존 사례, 데이터, 내부 취약점 등을 분석하여 발생할 수 있는 문제를 예측한다.어뷰징을 의도적으로 조작 및 간섭하여 어뷰징이 가능한지 확인하는 비기능 테스트이다.주로 게임에서 많이 사용된다.어뷰징 행위의 종류어뷰징 행위핵, 매크로, 해킹 프로그램을 사용 혹은 만들어 제품의 데이터나 프로그램을 변경, 훼손, 위조한다.클라이언트 파일을 분해하여 부당한 이득을 챙긴다.위와 같은 프로그램을 배포한다.게임 내 버그를 이용해 비정상적인 방법으로 보상, 아이템, 점수 등을 챙긴다.타인의 계정을 도용하거나 부계정을 사용해 다중 계정 조작으로 부당한 이익을 챙긴다.게..
디바이스 기능 연동 테스트와 인터럽트 테스트의 중요성 및 고려사항.
·
QA성장하기/테스팅 전문 지식 쌓기
디바이스 기능 연동 테스트란?디바이스 기능 연동 테스트의 의미디바이스 자체 기능과 서비스할 제품간의 상호작용으로 예상치 못한 영향을 확인한다.인터럽트 테스트애플리케이션 사용 중 전화가 오거나 충전을 하는 등 의도하지 않은 동작을 인터럽트 유형이라고 한다.디바이스 기능을 고의로 조작하여 애플리케이션이 인터럽트에 반응하는 응답을 관찰한다.인터럽트 상황에도 애플리케이션 성능과 기능을 효율적으로 수행하는 지 확인하는 비기능 테스트이다. 인터럽트로 발생하는 이슈의 유형디바이스 소프트웨어 업데이트 후 튕김 현상iOS/android 운영체제 자체 오류나, 디바이스 저장 공간 문제, 애플리케이션 데이터 변질로 발생할 수 있다.문제 발생 원인을 정확하게 구분하고 사전에 검증하여 수정 대응할 수 있도록 내부에 요청한다.i..
앱 공존성 테스트의 의미와 테스트 방법
·
QA성장하기/테스팅 전문 지식 쌓기
앱 공존성 테스트란?앱 공존성의 의미자원을 공유하는 공동 환경에서 다른 독립적인 소프트웨어와 공존할 수 있는 소프트웨어 능력을 의미한다.다른 앱에 나쁜 영향을 미치지 않고 하드웨어 자원을 공유하며 기능을 효율적으로 수행해야 한다.다른 독립적인 애플리케이션과 서비스할 제품간의 상호작용으로 인해 생기는 결함을 예측하여의도한 환경으로 간섭을 도입함으로서 애플리케이션의 반응을 확인한다.많은 회사에서 테스트 필요성 또는 검증필요범위로 인식하지 못하거나 예외케이스로 존재하는 경우가 많다.하지만 공존성 실패로 인해 발생하는 이슈 유형과 영향 범위가 다양해서 무시하거나 제외하면 안된다.적어도 신규 서비스 출시 및 공존성에 영향을 줄 수 있는 변경사항이 생기면 반드시 테스트해보는 것이 좋다.공존성 실패로 발생할 수 있는..
호환성 테스트를 위한 고려사항과 전략
·
QA성장하기/테스팅 전문 지식 쌓기
호환성 테스트란?호환성 테스트란?소프트웨어는 디바이스, 운영체제 버전, 해상도, 네트워크 속도 등에 영향을 받는다.다양한 환경에서 기능이 동일하게 작동하는지 테스트하여, 오류를 제거하고 안정성과 신뢰성을 보장한다.즉, 서비스하는 제품이 다양한 환경으로 이식이 가능한지 확인하고, 기능이 동일하게 작동하는 지 확인하는 비기능 테스트이다.호환성 테스트를 위한 고려사항타깃 유저제품을 실제로 사용하게 될 대상.서비스할 제품의 목표, 목적, 유형, 성격 또는 특성에 따라 특정 연령층 또는 그룹이 될 수 있다.타깃 유저는 프로젝트 착수 단계에서 주요 마케팅과 사업 전략에 따라 선정한다.타깃 유저에 따라 테스트 범위와 주요 기능 우선순위, 디바이스 선정 기준을 결정한다.타깃 국가국가별 지리적/문화적 요소, 언어, 네트..
서버 부하 테스트 전략과 프로세스, 분석 방법
·
QA성장하기/테스팅 전문 지식 쌓기
서버 부하 테스트서버 부하 테스트란?임계점이 한계에 도달할 때까지 시스템 부하를 증가시켜, 부하 상황에서 서버의 동작을 확인하는 테스트.서버 부하 상황에서도 안정적으로 서비스가 이루어질 수 있도록 보장하는 활동이다.이를 통해 얼마나 큰 규모의 인프라를 운영할 지 예측할 수 있고 유저에게 좋은 경험을 제공할 수 있다.서버 부하 테스트에서 품질 관리자의 역할서버 부하 테스트는 서버 개발자에 의해 반드시 테스트 되지만, 서버 자체의 부하만 측정한다는 한계가 있다.임계값을 산정하고 부하 상황에서 시스템 동작을 예측하여 테스트 방향을 결정해야 한다.부하 테스트를 통해 관측된 지표를 모니터링하고 결과를 분석하여 scale up/out 을 결정한다.부하발생 중 서버가 요청을 잘 처리하는 지, 병목 발생 지점이 어디인..
자동화 테스트의 의미와 계획과 설계 방법
·
QA성장하기/테스팅 전문 지식 쌓기
자동화 테스트의 의미자동화 테스트란?테스트 스크립트를 작성하거나 자동화 테스트 도구를 활용하여 자동으로 테스트하는 방법을 의미한다.자동화 테스트 도입 목적일반적으로 투입비용과 시간 대비 높은 품질을 확보하기 위해 도입한다.테스트 프로세스는 반복적이고, 점진적이며, 지속적인 테스트를 수행하는 형태로 변형되어왔다.테스트 속도는 향상되어야 하고 높은 품질을 유지하며 테스트 효율성을 증가시키기 위해 도입한다.자동화 도입 목적과 배경, 이유, 자동화로 해결하고자 하는 문제와 현재 상황을 구체적으로 살펴봐야 한다.이후 배경을 고려하여 세부적인 꼐획과 문제를 해결할 구체적 방법을 구상해야, 유용하고 실용성있는 자동화를 설계할 수 있다.자동화 테스트 계획주의할 점프로젝트 초기에 계획을 세우는 것이 좋다.자동화 범위가 ..