일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 애자일
- 비기능테스트
- Test Case
- 품질
- risk-based testing
- 파이썬
- 테스트
- test
- csts
- testing method
- agile
- ISTQB
- 테스트 설계 기법에 따른 분류
- Python
- maintainability test
- seleium
- 셀레니움
- QA
- selenium
- regression test
- Software life cycle model
- 자동화
- 테스트케이스
- 유지보수성 테스트
- 테스트 케이스
- RBT
- 위험 기반 테스트
- testcase
- Testing
- SQA
- Today
- Total
목록Test Case (9)
Study_Note

모델 기반 테스트(testing method - model based testing) 모델 기반 테스트(MBT) 는 특정 소프트웨어나 시스템의 기대 동작을 나타내는 모델을 활용합니다. 이 모델은 다양한 형태로 표현될 수 있습니다. 자연어, 상태 전이도, UML 다이어그램 등의 시각적 형식 또는 의사결정표와 같은 표 형태로 나타낼 수 있습니다. 이전의 테스트 방법은 주로 수작업으로 테스트 입력과 출력을 결정했습니다. 반면에 모델 기반 테스트는 자동으로 정보를 추출할 수 있을 정도로 상세하고 정형화된 모델을 사용합니다. 이를 통해 테스트 계획, 테스트 케이스, 절차, 입력 및 예상 결과 등을 자동으로 결정할 수 있습니다. 모델 기반 테스트의 장점은 대부분의 활동을 자동화할 수 있다는 것입니다. 또한 모델을 ..

sanity test Sanity Test 는 소프트웨어 개발 과정의 초기 단계에서 수행되는 테스트로, 주로 소프트웨어의 기본적인 기능이나 설정이 제대로 작동하는지를 확인하는 데 중점을 둡니다. 이 테스트는 소프트웨어가 최소한의 기능을 갖추고 있는지, 기본 기능이 작동하는지를 빠르게 평가하여 소프트웨어가 사용 가능한지 여부를 판단하는 데 사용됩니다. 이는 개발 과정의 초기 단계에서 중요한 역할을 합니다. 예를 들어, 웹 응용 프로그램을 개발하는 경우, Sanity Test는 다음과 같은 것들을 포함할 수 있습니다. 웹 페이지에 로그인 폼이 제대로 표시되는지 확인 로그인 기능이 작동하여 사용자가 인증을 수행할 수 있는지 확인 메인 페이지에서 필수적인 메뉴나 버튼이 존재하고 클릭 가능한지 확인 데이터베이스와..

개발 단계별 결함 (defects by development stage) 결함이 마치 소스 코드에만 존재한다고 생각할 수 있다.하지만 결함은 소스 코드를 포함해서 최종적으로 소프트웨어 동작의 장애를 유발할 수 있는 모든 개발 산출물에 존재할 수 있다. 예를 들어, 소스 코드에서 발견된 결함이 소스 코드를 작성하는 구현 단계가 아니라 설계 명세서의 부정확한 알고리즘에 기인한 것일 수도 있는데, 이러한 경우에는 소스 코드의 결함이라기보다는 설계의 결함이라고 볼 수 있다. 일반화하면 개발자는 소프트웨어를 개발하는 각 단계에서 오류를 범할 수 있으므로 각 단계의 산출물에는 결함이 존재할 가능성이 있는 것이다. 아래 이미지는 전체 결함에 대하여 소프트웨어 주요 개발 단계별 결함의 발생 비율을 보여준다. 결함의 3..

결정 테이블(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) 모든 공학 분야에서, 건물을 수백 층으로 손톱만한 전자 회로까지, 우리는 설계의 정확성을 확인하기 위해 테스트를 진행합니다. 이는 해당 분야가 얼마나 발전하고 완성도를 갖췄는지를 나타내는 중요한 지표입니다. 그러나 여전히 우리는 미완성된 세계에서 살고 있음을 인지해야 합니다. 이에 정적 분석과 동적 분석이 등장하게 됩니다. 정적 분석은 소프트웨어를 실행하지 않고도 코드를 분석하여 오류를 찾아내는 방법입니다. 반면, 동적 분석은 소프트웨어를 실행하며 그 동작을 분석하여 문제를 발견합니다. 이들의 핵심 원리를 이해하는 것이 중요합니다. 테스트에는 새로운 방법들이 지속적으로 등장하지만, 그래도 정답이라고 자신하기는 어렵습니다..