일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- test
- risk-based testing
- 테스트 설계 기법에 따른 분류
- 비기능테스트
- maintainability test
- csts
- Test Case
- 테스트
- testing method
- 품질
- testcase
- seleium
- 테스트 케이스
- 파이썬
- 테스트케이스
- SQA
- Software life cycle model
- QA
- 셀레니움
- ISTQB
- selenium
- 위험 기반 테스트
- Testing
- regression test
- RBT
- Python
- 유지보수성 테스트
- 자동화
- 애자일
- agile
- Today
- Total
목록QA (77)
Study_Note
Software 생명 주기 모델 다양한 소프트웨어들은 고유한 설계 기법과 개발 과정을 갖고 있지만, 대부분은 공통적인 소프트웨어 개발 수명주기(SDLC, Software Development Life Cycle)를 따르고 있습니다. 이러한 SDLC에는 여러 모델이 있지만, 주로 사용되는 두 가지 모델인 폭포수 모델(Waterfall Model)과 V-모델(V-Model)가 있습니다. 1. 폭포수 모델 (Waterfall Model) - 특징 : 선형적인 접근 방식으로, 각 단계가 이전 단계의 결과물을 기반으로 진행됩니다. [단계] 1. 요구 사항 분석 2. 설계 3. 구현 4. 테스트 5. 유지보수 [장점] 간단하고 이해하기 쉬우며 순차적 진행이 가능합니다. [단점] 요구 사항 변경이 어렵고, 최종 제품..
갤퍼린(gelperinn) 과 헤첼(hetzel) 의 소프트웨어 테스트 개념의 진화과정 (the evolutionary process of testing) Level_1 Debugging Oriented ( ~ 1956) 이 수준에서는 테스트와 디버깅 간에 명확한 차이가 없습니다. 주로 발견된 결함을 수정하는 디버깅에 중점을 두며, 프로그램의 결함을 찾기 위한 별도의 노력을 기울이지 않습니다. Level_2 Demonstration Oriented (1957 ~1878) 프로그램이 정상적으로 동작하는 것을 입증하기 위해 테스트를 진행합니다. 이에 따라 결함을 찾을 가능성이 높은 테스트 케이스를 만들기보다는 시스템이 올바르게 작동하는지 입증하는 데 중점을 두려는 경향이 있습니다. Level_3 Destru..
테스팅 디버깅, 재검증(테스팅) (testing, debugging, re_testing) Testting 목적: 소프트웨어의 품질을 평가하고 문제를 식별하기 위해 시스템을 실행하는 과정. 활동: 소프트웨어를 실행하고, 입력 데이터를 제공하며, 예상된 출력과 실제 출력을 비교함으로써 소프트웨어의 동작을 확인함. 종류: 기능 테스트, 성능 테스트, 사용자 인터페이스 테스트 등 다양한 종류의 테스트가 있음. 테스팅은 소프트웨어의 동작과 요구사항 간의 일치 여부를 확인하는 과정입니다. 특히, 동적 테스트는 결함의 발견을 목적으로 프로그램을 실행하며, 이때 발생한 소프트웨어 장애를 통해 내부에 결함이 있을 것으로 가정합니다.프로그램이 예상한 결과와 다르게 동작할 때, 즉, 장애가 발생했을 때, 테스팅은 해당 문..
개발 단계별 결함 (defects by development stage) 결함이 마치 소스 코드에만 존재한다고 생각할 수 있다.하지만 결함은 소스 코드를 포함해서 최종적으로 소프트웨어 동작의 장애를 유발할 수 있는 모든 개발 산출물에 존재할 수 있다. 예를 들어, 소스 코드에서 발견된 결함이 소스 코드를 작성하는 구현 단계가 아니라 설계 명세서의 부정확한 알고리즘에 기인한 것일 수도 있는데, 이러한 경우에는 소스 코드의 결함이라기보다는 설계의 결함이라고 볼 수 있다. 일반화하면 개발자는 소프트웨어를 개발하는 각 단계에서 오류를 범할 수 있으므로 각 단계의 산출물에는 결함이 존재할 가능성이 있는 것이다. 아래 이미지는 전체 결함에 대하여 소프트웨어 주요 개발 단계별 결함의 발생 비율을 보여준다. 결함의 3..
오류, 결함, 장애의 개념 (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)을 고려하는 것이 좋습니다. 기능 테스트는 고객의 요구사항을 충족시키고 소프트웨어의 ..