일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 비기능테스트
- Testing
- Software life cycle model
- 파이썬
- 테스트케이스
- 테스트
- 테스트 케이스
- 자동화
- SQA
- 위험 기반 테스트
- 애자일
- maintainability test
- 셀레니움
- seleium
- testing method
- Test Case
- 품질
- testcase
- QA
- 유지보수성 테스트
- 테스트 설계 기법에 따른 분류
- RBT
- csts
- ISTQB
- risk-based testing
- agile
- test
- Python
- regression test
- selenium
- Today
- Total
목록SQA (53)
Study_Note
오류, 결함, 장애의 개념 (concept of error, defect, failure) 소프트웨어를 개발할 때 기대, 약속된 소프트웨어의 동작에 대한 기준이 주어지는데, 이 동작 기준을 정의한 것을 소프트웨어 요구사항이라고 한다. 소프트웨어가 요구사항과 다르게 동작했다면 이를 장애가 발생했다고 한다. 즉, 장애는 프로그램의 실행 결과와 요구사항에 명시된 결과에 차이가 있음을 의미하는 것이다. 이러한 장애는 결국 소프트웨어를 구성하는 요소에 부족한 점이 있어서 발생한 것이다. 이는, 부정확한 구현 때문일 수도 있고, 필요한 기능이 포함되지 않았기 때문일 수도 있다.이와같이, 소프트웨어 내에 장애를 유발할 수 있는 문제를 결함 이라고 한다.이렇게 결함 때문에 장애가 발생하지만 결함이 있다고 해서 반드시 ..
결정 테이블(Decision Table) 테스트 결정 테이블 테스팅 방법은 소프트웨어 품질 보증(QA)과정에서 사용되는 테스트 설계 기법 중 하나로, 복잡한 비즈니스 규칙이나 조건들을 포함하는 결정 테이블을 효과적으로 테스트하는 방법입니다. 정의 결정 테이블은 입력 조건과 해당 조건에 따른 결과 처리를 정리한 표 형태의 구조입니다. 결정 테이블 테스팅은 이러한 결정 테이블을 분석하고 테스트 케이스를 설계하여 소프트웨어가 올바르게 동작하는지 확인하는 것을 목표로 합니다. 장점 체계적인 테스트: 결정 테이블 테스팅은 모든 조건과 처리 방법을 체계적으로 테스트하기 때문에 빠르고 효율적인 테스트를 가능하게 합니다. 테스트 커버리지 개선: 모든 조건과 결과를 테스트 케이스로 만들어 사용하므로 테스트 커버리지가 높..
경계값 분석 테스트 (boundary value analysis test) 경계값 분석 테스트는 입력값의 범위가 주어진 경우, 특히 그 경계 부분에서 자주 발생하는 오류를 찾아내는 효과적인 방법입니다. 우리가 일상적으로 사용하는 소프트웨어에서 숫자를 입력할 때나 글자 수를 제한할 때 등, 입력값의 범위를 정하는 경우가 많습니다. 이때, 경계값에서 오류가 발생할 확률이 높기 때문에, 이 부분에 초점을 맞춰 테스트를 진행하는 것이 중요합니다. 경계값 분석은 일반적으로 최소값, 최대값, 그리고 그 직전과 직후의 값을 포함합니다. 이렇게 경계 부근에서 오류를 발견하면 소프트웨어의 안정성과 신뢰성을 높일 수 있습니다. 예를 들어, 1부터 100까지의 숫자를 입력하는 경우를 상상해보겠습니다. 경계값 분석에서는 다음..
동등분할 테스트 (Equivalence Partitioning Testing) 동등분할 테스트는 소프트웨어를 테스트하는데 효과적인 방법 중 하나입니다. 이 방법은 다양한 입력값들을 테스트하는 시간과 노력을 절감하기 위해 개발되었습니다. 예를 들어, 하나의 소프트웨어 기능이 1부터 100까지의 정수형 데이터를 입력으로 받는다고 가정해봅시다. 모든 입력값을 하나씩 테스트한다면 굉장히 많은 테스트 케이스가 필요할 수 있습니다. 하지만 동등분할 테스트를 사용하면 이러한 다양한 입력값들 중 일부를 대표값으로 선택하여 테스트를 수행합니다. 동등분할 테스트는 입력값들을 여러 구간으로 나누고, 각 구간에서 하나의 대표값을 선택하여 테스트 케이스를 작성하는 방법입니다. 이렇게 함으로써 모든 구간에 속하는 값들을 대표값 ..
테스트 설계 기법의 종류 (types of test design techniques) 명세기반 테스트 (Specification-Based Testing) 명세기반 테스트(Specification-Based Testing)는 소프트웨어의 요구사항이나 명세서에 기반하여 테스트를 설계하고 수행하는 테스트 접근 방법입니다. 즉, 소프트웨어의 동작과 기능을 정의하는 문서들을 활용하여 테스트 케이스를 개발하고 실행하는 방법을 말합니다. 이러한 테스트는 소프트웨어가 요구사항과 명세서에 명시된 기대 동작을 정확하게 수행하는지 확인하는 데 중점을 둡니다. 명세기반 테스트는 특정 기능이나 시나리오에 대한 테스트를 간단하고 체계적으로 수행하기 위해 입력값을 분류하거나 경계값을 확인하는 등의 접근 방법을 사용합니다. 이러한..
기능 테스트(Functional Test)와 비기능 테스트(Non-Functional Test) 기능 테스트(Functional Test) 기능 테스트는 고객의 기능 요구사항에 초점을 맞춘 테스트로, 요구사항에 따라 기능이 올바르게 구현되었고, 구현된 기능이 정상적으로 동작하는지를 확인하는 것을 목표로 합니다. 이러한 테스트는 요구사항 명세서, 기능 명세서, 화면 설계서, IA 설계서 등과 같은 개발 요구사항이 정의된 산출물을 기준으로 수행됩니다. 테스트 기준으로는 ISO/IEC 9126 품질 특성의 기능성(Functionality) 부분과 ISO/IEC 25010의 기능 적합성(Functional Suitability)을 고려하는 것이 좋습니다. 기능 테스트는 고객의 요구사항을 충족시키고 소프트웨어의 ..
정적분석(Static Analysis) vs 동적분석(Dynamic Analysis) 모든 공학 분야에서, 건물을 수백 층으로 손톱만한 전자 회로까지, 우리는 설계의 정확성을 확인하기 위해 테스트를 진행합니다. 이는 해당 분야가 얼마나 발전하고 완성도를 갖췄는지를 나타내는 중요한 지표입니다. 그러나 여전히 우리는 미완성된 세계에서 살고 있음을 인지해야 합니다. 이에 정적 분석과 동적 분석이 등장하게 됩니다. 정적 분석은 소프트웨어를 실행하지 않고도 코드를 분석하여 오류를 찾아내는 방법입니다. 반면, 동적 분석은 소프트웨어를 실행하며 그 동작을 분석하여 문제를 발견합니다. 이들의 핵심 원리를 이해하는 것이 중요합니다. 테스트에는 새로운 방법들이 지속적으로 등장하지만, 그래도 정답이라고 자신하기는 어렵습니다..
QA, Tester, QC 차이는? QA(Quality Assurance)란? 품질보증(QA, Quality Assurance)은 제품이나 서비스가 고객에게 제공되기 전에 특정 수준의 품질을 충족하는지 확인하기 위한 과정입니다. 이는 제품이나 서비스의 개발 단계에서 시작되고 제품이나 서비스의 전 수명 주기 동안 진행됩니다. QA의 목표는 제품이나 서비스에서 결함과 오류를 방지하고 제품이나 서비스가 지정된 요구 사항과 기준을 충족하는 것입니다. QA는 검사, 검토, 검증과 같은 다양한 활동을 포함하여 제품이나 서비스의 고품질과 신뢰성을 보장합니다. QA는 고객에게 제품이나 서비스를 제공하는 어떤 조직에서도 중요한 과정입니다. 제품이나 서비스가 지정된 요구 사항과 기준을 충족하게 함으로써 조직은 고객..
Pairwise testing은 다양한 조건(변수) 중에서 조합 가능한 모든 경우의 수를 대상으로 테스트 케이스를 생성하는 기법입니다. Pairwise testing은 모든 조합을 테스트하는 것이 아니라, 조건 간에 상호작용이 있는 부분만 선택적으로 테스트하여 테스트 케이스 수를 줄이면서도 대부분의 결함을 발견할 수 있는 방법입니다. 이를 통해 시스템의 결함을 더 빠르고 효과적으로 찾을 수 있으며, 테스트 케이스의 수를 효과적으로 줄일 수 있습니다. 이는 테스트 케이스 작성 및 실행에 드는 비용과 시간을 줄일 수 있어 효율적인 테스트 수행이 가능해집니다. 예를 들어, 5개의 조건(변수)이 있다고 가정해보겠습니다. 이 때, 각 조건이 가질 수 있는 값을 3개로 한정한다면, 전체 경우의 수는 3^5 = 24..
셀레니움을 포함한 Python 패키지를 사용할 때, import와 from ... import ... 구문을 사용하여 모듈을 가져올 수 있습니다. 이때 as 키워드를 사용하여 모듈을 다른 이름으로 부를 수 있습니다. 아래는 각 구문에 대한 예시와 설명입니다. import import 구문은 해당 모듈을 전체적으로 가져오는 방식입니다. 예를 들어 selenium 모듈을 사용하는 경우 아래와 같이 import 구문을 사용합니다. import selenium.webdriver driver = selenium.webdriver.Chrome() 위 코드에서 selenium.webdriver 모듈을 전체적으로 가져와서 Chrome() 클래스를 사용하여 웹드라이버를 생성합니다. from ... import ... f..