소프트웨어 별 중요한 리소스와 판단하는 방법.
·
QA성장하기/소프트웨어 공학 이해도 높이기
저번 포스팅에 이어서, 소프트웨어별로 중요한 리소스가 무엇일까 에 대해 이야기 해보려고 한다.1. CPUCPU는 멀티태스킹이나 복잡한 계산을 자주 수행하는 소프트웨어에서 중요한 역할을 한다.특히 단일 스레드 성능과 멀티코어 성능이 중요한 소프트웨어들이 CPU의 성능에 많이 의존한다.예를 들어, 동영상 편집 프로그램이나 코드를 빌드하는 과정에서 많은 연산을 요구하는 컴파일러 등CPU를 많이 사용하는 소프트웨어일수록 다른 리소스보다 CPU가 우세한지 확인해야 한다. 2. 메모리메모리는 임시 저장소로서, 현재 실행 중인 프로그램과 데이터를 저장하는 역할을 하는데,대용량 데이터를 다루는 소프트웨어에서 메모리 용량과 속도가 소프트웨어의 성능을 좌지우지한다. 예를 들어 VMware 이나 VircualBox와 같은 ..
QA가 알야아 하는 컴퓨터 하드웨어 기초상식
·
QA성장하기/소프트웨어 공학 이해도 높이기
새로운 회사에 일을 다니기 시작하면서 정신없이 몇달을 보내느라 블로그에 소홀해졌는데지금은 기능적인 부분보다는 비기능쪽에 대해 좀더 집중하고, 품질 향상을 위해서 노력하고 있다. 비기능 테스트에 대해 집중하면서 경쟁사와의 비교분석에 대한 중요성을 크게 느꼈는데,예를 들어, 동일한 기능을 기준으로 자사 제품이 경쟁사 제품에 비해 사용성, 효율성이 떨어진다면? 그것은 경쟁사에 비해 열세라고 판단할 수 있으며, 상품을 사용하는 고객들은 바보가 아니기 때문에비교적 열세라고 판단된다면, 그리고 이것이 불편하다고 생각된다면 고객을 잃을 수 있다. 효율성과 사용성 중에서 사용성은 어느정도 주관적인 판단이 들어갈 수밖에 없지만효율성은 작업관리자, 혹은 활성관리자를 통해서 비교적 객관적인 수치를 통해 비교할 수 있다. 그..
시스템 문제 파악 및 해결을 위한 애플리케이션 로그 분석
·
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성장하기/테스팅 전문 지식 쌓기
호환성 테스트란?호환성 테스트란?소프트웨어는 디바이스, 운영체제 버전, 해상도, 네트워크 속도 등에 영향을 받는다.다양한 환경에서 기능이 동일하게 작동하는지 테스트하여, 오류를 제거하고 안정성과 신뢰성을 보장한다.즉, 서비스하는 제품이 다양한 환경으로 이식이 가능한지 확인하고, 기능이 동일하게 작동하는 지 확인하는 비기능 테스트이다.호환성 테스트를 위한 고려사항타깃 유저제품을 실제로 사용하게 될 대상.서비스할 제품의 목표, 목적, 유형, 성격 또는 특성에 따라 특정 연령층 또는 그룹이 될 수 있다.타깃 유저는 프로젝트 착수 단계에서 주요 마케팅과 사업 전략에 따라 선정한다.타깃 유저에 따라 테스트 범위와 주요 기능 우선순위, 디바이스 선정 기준을 결정한다.타깃 국가국가별 지리적/문화적 요소, 언어, 네트..