테스팅 관리 및 통제/테스팅전략_총괄계획

페이퍼요약 – 소프트웨어 테스팅 표준 by REID

grapevine9700 2023. 10. 2. 07:00
반응형

제목: SOFTWARE TESTING STANDARDS - do they know what they’re talking about?

저자: STUART C. REID, 영국

문서유형: EuroSTAR 2000 컨퍼런스 페이퍼 ( 15페이지), 2000년
참고 사이트 http://www.testingstandards.co.uk/publications.htm

 

 

소프트웨어 테스팅과 관련된 여러 표준에 대해 설명한다.

 


 

 

소비자 생산자 관점에서 표준

표준(Standards) 우리에게 어떤 용도인지 소비자 관점과 생산자 관점에서 살펴볼 있다. 소비자 측면에서 보면 표준은 우리의 일상 생활에 영향을 미치는 것이며 일반적으로 좋은 것으로 간주된다. 예를 들어, 유모차의 품질을 관리하는 표준은 아마도 우리 아이들을 보호할 것이기 때문에 대중의 찬성을 얻는다. 이와 같이 표준은 제품이 특정 품질임을 소비자에게 보증하는 형태로 작용한다. 대다수의 소비자는 유모차 표준이 무엇을 포함하고 있는지 전혀 모르지만 그것을 작성한 사람이 알고 만들었을 것이라고 믿는다.

 

이제 유모차 생산자의 관점을 살펴보자. 제조업체는 표준을 준수함으로써 충분히 좋은유모차를 만들 것이라는 이점을 얻는다. 이로 인해 안전하지 않은유모차 판매로 인한 나쁜 평판과 법적 책임이라는 이중 함정을 피할 있다. 마케팅 측면에서는 유모차 표준이 의무가 아닌 경우 이를 준수하는 제조업체가 준수하지 않는 경쟁업체와 비교하여 제품을 유리하게 판매하기 위해 이 점을 이용할 있다. 또는 유모차 시장에 처음 발을 들인 제조업체를 생각해 보자. 유모차 제조의 좋은 관행을 상세히 다룬 표준이 있다는 것은 그들이 맨땅에서 시작할 필요 없이 표준을 작성한 전문가들의 경험을 기반으로 구축할 있음을 의미한다.

 

불행하게도 우리가 가정한 유모차 표준 같은 단일 소프트웨어 테스트 표준은 존재하지 않는다. 앞으로 살펴보겠지만 소프트웨어 테스트를 언급하는 많은 표준이 존재하며, 이러한 표준 다수는 중복된 내용이나 모순되는 요구사항을 포함하고 있다. 나쁜 것은 표준에서 다루는 소프트웨어 테스팅 범위에 구멍이 있다는 것인 , 예를 들면 통합 테스트는 유용한 표준이 전혀 존재하지 않는다. 페이퍼는 공급자와 소비자 간의 신뢰를 구축하고 새로운 테스터 또는 경험이 부족한 테스터에게 좋은 관행에 대한 정보를 제공하기 위해 기존 테스팅 관련 표준 중에서 어떤 것이 최선인지 보여주고자 한다.

 

 

컨텍스트(Context) 따른 소프트웨어 테스팅

소프트웨어 테스팅에 대한 다양한 정의가 있는데 BS 7925-1 "소프트웨어가 명시된 요구사항을 충족하는지 확인하고 에러를 찾기 위해 소프트웨어를 실행하는 프로세스(process of exercising software to verify that it satisfies specified requirements and to detect errors)"라는 정의를 지원한다. 따라서 소프트웨어 테스팅은 소프트웨어 배리피케이션(verification) 소프트웨어 밸리데이션(validation) 수행하는 여러 방법 하나이다(테스팅 말고 다른 방법으로 리뷰 같은 정적 기법이 있음). 배리피케이션 밸리데이션(V&V) 단독으로 수행되는 프로세스가 아니며, V&V 프로세스는 소프트웨어 엔지니어링 프로세스의 일부를 구성한다. 마찬가지로 소프트웨어가 단독 프로세스로 실행되는 경우는 드물며 일반적으로 시스템의 일부로 제작된다. 프로세스 관점에서 소프트웨어 테스팅은 V&V 일부이고, 이는 다시 소프트웨어 엔지니어링에 포함되며, 소프트웨어 엔지니어링은 다시 시스템 엔지니어링의 일부이다. 관계가 그림 1 나와 있다.

그림 1. 소프트웨어 테스팅의 프로세스 컨텍스트

 

그림 1 모델을 사용하여 수준에 대한 프로세스 지향 표준을 식별할 있다. 실제로 시스템 엔지니어링, 소프트웨어 엔지니어링, V&V 프로세스는 모두 상응하는 표준이 존재한다(: 각각 ISO 15288, ISO 12207, IEEE 1012). 이러한 표준에는 소프트웨어 테스터와 관련된 요구사항이 포함되어 있다. ISO 15288 ISO 12207 모두 V&V 프로세스를 포함하며, 많은 소프트웨어 개발자와 테스터가 자신들 업무의 시스템 측면을 무시하지만 ISO 12207(소프트웨어 라이프사이클 프로세스 표준)과의 관련성을 부인할 수는 없다. ISO 12207 전체 라이프사이클 동안 소프트웨어의 프레임워크를 정의하는 표준이며, ISO 9000 달리 미국에서 빠르게 IEEE 소프트웨어 엔지니어링 통합 표준으로 받아들여지고 있다. IEEE의 소프트웨어 엔지니어링 표준 세트 중 하나인 IEEE 1012 무결성 수준(integrity levels) 따라 수행할 특정 V&V 프로세스, 액티비티, 태스크를 자세히 정의한다.

 

품질은 소프트웨어 테스팅을 보는 다른 관점을 제공하며 그림 2 소프트웨어 테스팅이 품질 모델에 어떻게 부합하는지 보여준다. 품질 관점에서는 V&V 일부인 테스팅을 소프트웨어 품질 보증의 필수적인 부분으로 본다. 소프트웨어가 시스템의 일부인 경우 소프트웨어 테스팅은 총괄적인 품질 관리 보증의 일부로 간주될 수도 있다. 프로세스 모델에서와 마찬가지로 상위 수준에 대해서는 상응하는 표준이 있다(: 각각 ISO 9000, IEEE 730, IEEE 1012). ISO 9000 모르는 소프트웨어 개발자는 많지 않을 것이다. 표준은 테스팅을 아주 상위 수준에서 다루기 때문에 여기서 "미준수(non-compliance)"는 기본적으로 문서화된 테스트를 전혀 수행하지 않는 것을 의미한다. IEEE 730 유사하게 높은 수준에서 테스팅을 다루며, 또한 테스팅을 'V&V' '기타 테스팅' 부분으로 분리하기 때문에 다소 혼란스럽다.

그림 2. 소프트웨어 테스팅의 품질 컨텍스트

 

번째 모델은 소프트웨어 테스팅에 대한 상응하는 표준이 있는 경우 사용할 있다. 이것은 그림 3 같은 용어적 관점을 나타낸다. 우리 일상에서 사용되는 자연어가 최상위 수준이며, 컴퓨팅 용어와 소프트웨어 엔지니어링 용어는 결국 소프트웨어 테스팅 용어로 이어진다. 모델의 수준에 대해 사용가능한 표준이 존재하는 , 예를 들어 옥스포드 영어 사전에서 시작하여 IEEE 610, IEEE 610.12, 마지막은 소프트웨어 테스팅 용어인 BS 7925-1 찾아볼 있다.

그림 3. 소프트웨어 테스팅의 용어 컨텍스트

 

위의 가지 모델에서 테스팅과 관련된 많은 표준이 식별되었지만 대부분이 매우 높은 수준의 소프트웨어 테스팅을 고려한다. ISO 9000 같은 일부는 규정 준수 마케팅 측면을 제외하고는 소프트웨어 테스트 실무자에게 거의 사용되지 않는다. 다른 일부 ISO 12207 영향력을 가질 것으로 예상되며, 소프트웨어 개발자와 테스터가 표준을 준수하는 것이 일상적인 상황이 것으로 보인다. 소프트웨어 V&V 표준인 IEEE 1012 소프트웨어 테스팅과 높은 관련성을 갖는다.

 

 

소프트웨어 테스팅 모델에서 표준

소프트웨어 테스팅 모델은 소프트웨어 테스팅을 가장 상위 수준인 조직에서부터 프로젝트의 단일 단계(a phase) 수준까지 고려한다. 모델은 그림 4 표시된 것처럼 테스트 프로세스, 프로세스 개선, 용어, 문서화, 사고 관리를 포함한다. 모델의 요소에 대해 이를 지원하는 표준을 살펴보고자 한다.

그림 4. 포괄적 소프트웨어 테스팅 모델

 

테스트 용어(Test Terminology)

공통된 용어 세트는 소프트웨어 테스팅과 관련된 모든 당사자 간의 효율적인 의사소통을 보장한다. BS 7925-1 소프트웨어 테스팅을 위한 전문 어휘를 제공하는 것을 목표로 하며, IEEE 610.12 소프트웨어 엔지니어링 용어에 대한 전반적인 용어집을 제공한다. BS 7925-1 현재 단점은 컴포넌트 테스팅(component testing) 다소 편향되어 있다는 것이다. 이것이 BS 7925-2 정의 섹션으로 시작되었기 때문에 처음에는 순전히 컴포넌트 테스팅에만 전념했지만 이후 일반 소프트웨어 테스팅을 포괄하도록 확장되었고 추가 작업이 필요하다.

 

테스트 정책(Test Policy)

테스트 정책은 소프트웨어 테스팅에 대한 조직의 철학을 나타낸다. 이것이 ISO 9001, ISO 12207, IEEE 730 같은 표준 준수 보장에 대한 성명(statements)도 포함한다. ISO 9001 공급업체가 배리피케이션의 일환으로 테스트를 수행하고 이를 문서화해야 한다는 매우 높은 수준의 요구사항만 제공한다. ISO 12207 개발, 유지보수 등의 기본 프로세스를 지원하기 위한 구체적인 V&V 프로세스에 대한 요구사항을 정의한다. IEEE 730 소프트웨어 V&V 계획( 해당 보고서) 기타 테스트(아마도 개발자가 수행한 테스트) 문서화를 모두 요구한다.  

 

테스트 전략(Test Strategy)

이것은 프로그램(하나 이상의 프로젝트) 대해 수행할 테스트 단계를 정의하는 상위 수준 문서이다. ISO 9001 적용에 대한 지침을 제공하는 ISO 9000-3 제품 복잡성과 리스크에 따른 테스트 정도를 기반으로 단위, 통합, 시스템, 승인 테스트를 고려할 것을 제안한다. IEEE 1012 소프트웨어 무결성 수준을 기반으로 수행할 V&V 프로세스, 액티비티, 태스크를 정의하고, 어떤 테스트 단계들이 적용되어야 할지 정한다. ISO 15026 IEC 60300-3-9 정의된 리스크 분석을 기반으로 무결성 수준을 결정하는 프로세스를 정의한다.

 

프로젝트 테스트 계획(Project Test Plan)

문서는 특정 프로젝트에 대해 수행할 테스트 단계와 해당 단계 내의 테스트를 정의한다. 내용이 테스트 전략과 일치해야 하며 뭔가 차이점이 있으면 이를 강조하고 설명한다. ISO 9000-3 테스트 계획에 대한 간략한 내용 목록을 제안하는 반면, IEEE 829 테스트 계획 문서화에 대한 포괄적인 요구사항을 담고 있다.

 

단계 테스트 계획(Phase Test Plan)

단계 테스트 계획은 특정 단계 내에서 테스트를 수행하기 위한 세부 요구사항을 제공한다(, 컴포넌트 테스트 계획, 통합 테스트 계획). IEEE 829 테스트 계획에 대한 포괄적인 요구사항 세트를 제공한. 단위/컴포넌트 테스트 단계와 관련 있는 BS 7925-2 소프트웨어 컴포넌트 테스트 계획의 세부 내용을 정의하고 샘플 문서 세트를 제공한다. 유감스럽게도 다른 테스트 단계를 구체적으로 다루는 표준은 없다.

 

테스트 프로세스(Test Process)

BS 7925-2 그림 5 표시된 포괄적인 컴포넌트 테스트 프로세스를 관련 액티비티와 함께 정의한다. IEEE 1008 BS 7925-2 유사하게 테스트 프로세스에 대한 세부 정보를 제공하지만 단위 테스팅이라는 용어를 쓴다. 다른 테스트 단계를 구체적으로 다루는 표준은 없다.

그림 5. 포괄적인 소프트웨어 테스팅 프로세스

 

특정 단계의 테스트 계획(Phase test planning) 액티비티 동안 내리는 의사 결정(, 어떤 테스트 케이스 설계 기법을 사용할지, 어떤 테스트 종료 기준을 적용할지) 소프트웨어의 무결성 수준에 따라 달라져야 하며, 이는 다시 리스크 분석을 기반으로 해야 한다.  무결성 수준을 결정하는 프로세스는 ISO 15026 정의되어 있으며, 리스크 분석 프로세스는 IEC 60300-3-9 정의되어 있다. 테스트 계획서(test plans) 테스트 명세서(test specifications) 모두 검토를 거쳐야 하며, 소프트웨어 검토 기법(software review techniques) IEEE 1028 정의되어 있다. BS 7925-2 '테스트 명세' 액티비티에서 테스트 케이스를 설계하는 사용되는 기술과 '테스트 완료 체크' 액티비티에서 사용되는 테스트 커버리지 측정 기술을 사용 예와 함께 정의하고 있다.

 

사고 관리(Incident Management)

사고 관리는 테스트 프로세스의 필수적인 부속물이며 문제 보고(problem reporting)’ 또는 이상 분류(anomaly classification)’라고도 불린다. ISO 12207에는 문제 해결(problem resolution) 지원 프로세스(support process) 포함되어 있으며, IEEE 829 사건 보고 문서화를 간략하게 설명한다. IEEE 1044에는 자세한 내용이 제공되는 , 이상 분류 프로세스(anomaly classification process) 분류 체계(classification scheme) 정의하고 있다. IEEE 1044.1 IEEE 1044 지원하는 일반적인 지침을 담고 있다.

 

테스트 문서화(Test Documentation)

IEEE 829 테스트 계획, 테스트 명세, 테스트 보고의 문서화에 대한 포괄적인 요구사항 세트를 제공한다.

 

테스트 프로세스 개선(Test Process Improvement)

테스트 프로세스 개선은 아마도 조직의 테스트 정책의 일부이어야 한다. ISO 12207 준수하는 경우 개선 프로세스가 명시적으로 식별되는 반면 ISO 9000에서는 프로세스 개선이 모든 부분에 만연해 있다. SEI는 시스템 엔지니어링 소프트웨어 엔지니어링 수준에서 일부 테스팅을 포함하는 역량 성숙도 모델(각각 SE CMM SW CMM 프레임워크) 생성했다. ISO 15504 일부 소프트웨어 테스팅을 포함하는 국제 소프트웨어 프로세스 개선 표준이다. 소프트웨어 테스트 프로세스 개선을 위해 TMM(테스트 성숙도 모델) 같은 독자적인 체계를 사용할 있기는 하지만, 프로세스 개선 표준은 특별히 소프트웨어 테스트 프로세스를 목표로 겨냥하지는 않는다.

 

 

애플리케이션에 특정한 표준(Application-Specific Standards)

소프트웨어 개발 테스트와 관련하여 다양한 애플리케이션별 표준이 있으며 이것들 거의 모두가 안전성이 중요(safety-related)  애플리케이션 도메인에 속한다. 예를 들면 DO-178B(항공), MISRA(자동차), Def Stan 00-55(국방), IEC 880(원자력) 등이 있다. 이러한 표준/지침 처음 3개는 무결성 수준 개념을 사용하는 반면 마지막 IEC 880 그렇지 않다(아마도 너무 오래 되어서 같음. 표준이 1986년에 출판됨).

 

애플리케이션에 특정한 표준과 관련하여 물어야 가지 질문은 해당 표준이 단순히 일반 소프트웨어 개발 테스트 표준으로 게시되지 않고 특정 애플리케이션 영역과 연결되어 있는가에 대한 것이다. 자동차, 제약, 의료 또는 금융 소프트웨어를 테스트할 때는 유용하지 않지만 항공 전자 시스템에는 현저하게 적합한 '특별한' 테스트 기술 같은 것은 없다. 소프트웨어 실패로 인한 리스크가 비슷한 수준이라면 개발 테스트에 비슷한 양의 노력이 요구된다. 예를 들어, 자동차 세이프티 크리티컬(safety-critical) 소프트웨어 컴포넌트와 조직의 경제적 미래가 걸려 있는 금융 소프트웨어 컴포넌트는 모두 엄격한 테스트를 받게 되지만, 금융 컴포넌트 보다 자동차 컴포넌트에 작동하는 테스트 기술 또는 반대의 경우에 해당하는 기술은 아무도 알지 못한다. 고객이 유사하게 리스크가 높다고 인식한다면 테스트에 비슷한 예산을 투자할 자격이 있으며, 기타 다른 모든 조건이 동일하다면 이는 테스트에 대한 접근 방식도 유사함을 의미한다.

 

소프트웨어 개발 테스트를 위한 애플리케이션에 특정한 표준에 대한 타당한 이유가 없는 그러한 표준이 존재하는 걸까? 특정 산업 단체가 자신들에게 소프트웨어 개발 표준이 필요하다고 결정하고 해당 산업 분야에서 근무하는 소프트웨어 개발 전문가에게 새로운 표준을 의뢰한다고 상상해 보자. 작업을 완료할 다른 애플리케이션 분야에 대한 경험이 거의 또는 전혀 없는 작성자는 이를 일반 표준으로 분류할 자격이 없다고 느끼거나 또는 의뢰 기관이 기대하고 있는 애플리케이션에 특정한 표준을 인도하지 않음으로써 그들을 실망시키고 싶지 않을 수도 있다. 이런 이유로 하나의 애플리케이션에 특정한 소프트웨어 표준이 만들어지는 것이다. 한편 유럽우주국(ESA) 소프트웨어 개발 표준인 PSS-05-0 개발자들은 이에 대한 교훈을 얻은 것으로 보인다. 그들은 ESA에서 사용하는 소프트웨어 개발 표준을 일반 표준으로 지정했으며, 이것이 "고품질 소프트웨어를 개발하는 방법에 대한 간결한 정의를 제공"한다고 발표했다. 따라서 PSS-05-0 애플리케이션에 특정한 표준에서 단계 발전한 것이다. 표준은 소프트웨어 검토를 위해 IEEE 1028, V&V 위해 IEEE 1012, 테스트 문서화를 위해 IEEE 829 참조한다. 아쉬운 점은 표준이 무결성 수준 개념을 사용하지 않는 것이다. 한편 IEC 61508 무결성 수준을 사용하는 일반 표준에 대한 요구사항을 거의 충족하지만 특별히 안전성 관련 애플리케이션(safety-related applications) 적용 가능하다고 명시하고 있다. 적절한 무결성 수준을 결정할 있다면 IEC 61508 금융 애플리케이션 같은 안전성 관련이 아닌 애플리케이션(non-safety-critical applications) 사용할 없는지는 명확하지 않다.

 

애플리케이션에 특정한 표준/지침 중에서 소프트웨어 테스팅만을 다루는 경우는 드물지만 예외적으로 NIST 500-234 미국 의료 산업의 소프트웨어 V&V 대한 '참조 정보' 제공한다. 지침은 V&V 대한 일반적인(, 의료와 특별히 관련되지 않은) 조언을 제공하고 재사용 소프트웨어(reused software) 지식 기반 시스템(knowledge-based systems) 테스트에 대한 특별 섹션도 제공한다. 75페이지 분량의 문서는 소프트웨어 V&V 대한 훌륭하고 일반적인 소개서이며 웹에서 무료로 사용할 있다.

 

 

표준에 대한 주관적 평가

저자는 페이퍼에서 언급된 표준에 대해 간단한 코멘트와 아래 기준표에 따라 소프트웨어 테스터에게 유용한지 여부를 등급 매겼다.  

 

Standards Comments *Rating
Terminology 다루어짐. 오해의 여지 적음
IEEE 610 유용한 참조 텍스트이지만 일반 테스터에게 필수적이지는 않음(정의가 200페이지 이상!). U
IEEE 610.12 소프트웨어 엔지니어링 정의. 여기에 정의되지 않은 용어만 BS 7925-1 포함되므로 알고 있어야 HR
BS 7925-1 훌룡한 컴포넌트 테스팅 용어 소스. 일반 소프트웨어 테스팅 용어를 일부 포함하지만 진정한 일반 소프트웨어 테스팅 용어집이 되기 위해서는 확장 필요 M
Specific
Software Testing
소프트웨어 테스팅과 V&V 지원하기 위해 특별히 작성된 표준
BS 7925-2 컴포넌트(단위) 테스팅 프로세스, 테스팅 기법 메트릭에 대해 다루고 있음. 여기서 언급된 기법과 메트릭은 다른 테스트 단계에도 적용 가능 M
IEEE 829 좋은 테스트 문서화 표준이지만 프로세스를 지원하는 표준이 필수 문서에 대한 지침을 포함해야 . 예를 들어 컴포넌트 테스트 문서화를 위한 BS 7925-2 사고(이상) 보고를 위한 IEEE 1044 HR
IEEE 1008 단위 테스팅 프로세스에 대해 다루고 있으나 현재 BS 7925-2 대체됨 U
IEEE 1012 무결성 수준을 사용하는 탁월한 V&V 표준. 테스트 전략을 작성할 필수 M
IEEE 1028 소프트웨어 리뷰에 대한 훌륭한 소개서 M

Supporting
테스트 프로세스를 지원하는 프로세스를 다루는 표준
IEEE 1044 이상(사고) 분류 프로세스와 이상 분류 체계의 표준 목록이 포함되어 있음 HR
IEEE 1044.1 바로 표준에 대한 안내서 U
IEC 60300-3-9 리스크 분석에 대한 일반적 표준. 해당 도메인의 애플리케이션에 특정한 버전이 없는 경우 이상적임 HR
ISO 15026 무결성 수준을 결정하기 위한 일반(non-safety-specific) 프로세스. 무결성 수준을 달성하는 수단을 지정하려고 한다는 것이 표준의 작은 단점이며, 이는 개발 테스트 프로세스 표준에 맡기는 것이 가장 좋다. HR
High-level 소프트웨어 테스팅과 관련된 요구사항을 포함하는 프로세스 QA 표준
ISO 9000 ISO 9000 시리즈에 대해 뭐라고 말할 있을까? 25 이상의 인증 기관이 틀릴리가 없다. 테스터가 알고는 있어야 하지만 소프트웨어 테스팅의 범위는 아주 적다. U
ISO 9000-3
ISO 9001
IEEE 730 매우 높은 수준에서 QA 계획에 V&V 테스트를 포함해야 한다는 요구사항을 명시하지만 테스터에게 그다지 유용하지는 않음 O
ISO 15288  시스템 수준 요구사항(2000 후반 출시 예정) 포함하고 시스템의 소프트웨어 컴포넌트 대해 ISO 12207 준수하도록 요구 O
ISO 12207 통합 소프트웨어 라이프사이클 프로세스 표준. 5 내에 표준을 사용하지 않는 소프트웨어는 아주 소수일 것이다. M
Application-specific 여기 제시되는 것은 사용 가능한 애플리케이션별 표준의 아주 일부임. 거의 모두가 안전성과 관련되어 있으며 소프트웨어 개발과 테스트를 모두 고려함
IEC 880 소프트웨어 테스팅에 대한 지침 부록이 있는 오래된(1986) 표준. 매우 높은 무결성 시스템을 목표로 하고 있지만 아직 대체되지 않았다는 것은 놀라운 일이다. O
DO-178B 최고의 애플리케이션에 특정한 표준. 무결성 수준을 사용함. 유일한 결점은 100% 커버리지를 기대하는 것과 MCDC(Modified Condition Decision Coverage) 커버리지를 포함한다는 것이다. HR
Def Stan 00-55 배리피케이션을 위해 수학적 증명(mathematical proof) 사용하는 쪽으로 치우친 것으로 보임 U
MISRA 웹사이트에서 무료로 제공되는 합리적인 지침 세트. 소프트웨어 테스팅에서 두드러지는 특별한 자동차 관련 특징은 없음 U
NIST 500-234 V&V 대한 전문 지침. 표면적으로는 의료용이지만 실제로는 일반용. 특이하게 재사용 소프트웨어 지식 기반 시스템 테스트에 대한 특별 주제를 포함한다. U
Generic Development 소프트웨어 개발과 테스팅을 모두 고려함
PSS-05-0 무결성 수준 사용 안함. 테스트 요구사항은 대부분 IEEE 테스트 표준에 대한 참조를 기반으로 U
IEC 61508 완전히 일반 표준은 아님(안전성 관련 소프트웨어의 경우). 무결성 수준을 사용하지만 수준에 소프트웨어 테스트 요구사항을 할당하는 문제가 있어 보임 U
Process Improvement 프로세스 개선 표준은 개발과 테스트를 모두 다루지만 개발에 중점을 둔다(TMM 예외)
ISO 15504 측정 비교를 위해 기존 프로세스 개선 모델(: CMM, Bootstrap ) 공통 베이스로 상호 참조하는 것을 허용 U
SE CMM 아래 오리지널 CMM 시스템 버전 O
SW CMM 주로 소프트웨어 개발 프로세스를 측정하는 사용되며, 프로세스의 성숙도를 높이기 위해 무엇을 추가해야 하는지에 대한 지침도 제공한다. U
TMM 주로 테스팅에 초점을 맞춘 모델의 테스터 버전(성숙도 수준에 기반함) HR

 

 

표준 약어

문서에서 언급하는 표준 약어 목록이 아래와 같다. 

  • BS                             British Standard
  • BS 7925-1                 Software Testing Vocabulary
  • BS 7925-2                 Software Component Testing
  • Def Stan 00-55         Requirements for Safety-Related Software in Defence Equipment
  • DO-178B                  Software Considerations in Airborne Systems and Equipment Certification
  • ESA                           European Space Agency
  • IEC                            The International Electrotechnical Commission
  • IEC 60300-3-9          Risk analysis of technological systems
  • IEC 61508                 Functional Safety of electrical/electronic/programmable Safety-Related Systems
  • IEC 880                     Software for computers in the safety systems of nuclear power stations
  • IEEE                          The Institute of Electrical and Electronics Engineers
  • IEEE 610                  Standard Computer Dictionary
  • IEEE 610.12             Software Engineering Terminology
  • IEEE 730                  Standard for Software Quality Assurance Plans
  • IEEE 829                  Standard for Software Test Documentation
  • IEEE 1008                Standard for Software Unit Testing
  • IEEE 1012                Standard for Software Verification and Validation
  • IEEE 1028                Standard for Software Reviews
  • IEEE 1044                Standard Classification for Software Anomalies
  • IEEE 1044.1             Guide to Classification for Software Anomalies
  • ISO                            The International Organization for Standardization
  • ISO 9000                   Quality management and quality assurance standards
  • ISO 9001                  Model for quality assurance in design, development, production, installation and servicing.
  • ISO 9000-3               Guidelines for the application of ISO 9001 to the development, supply, installation and maintenance of computer software
  • ISO 12207                 Software life cycle processes
  • ISO 15026                 System and software integrity levels
  • ISO 15288                 System Life Cycle Processes
  • ISO 15504                 Software process assessment
  • MISRA                      Development Guidelines for Vehicle Based Software (from the Motor Industry Software Reliability Association)
  • NIST                         The National Institute of Standards and Technology
  • NIST 500-234           Reference Information for the Software Verification and Validation Process
  • PSS                           Procedures, Specifications and Standards
  • PSS-05-0                   ESA Software Engineering Standards
  • SEI                            The Software Engineering Institute
  • SE CMM                   Systems Engineering Capability Maturity Model
  • SW CMM                 Capability Maturity Model for Software
  • TMM                        Testing Maturity Model

 

 

 

NOTE.
표준은 일반적으로  부분으로 구성되어 있다. 먼저 사용자가 준수해야 하는 사항을 정의하는 규범적인 부분(a normative part), 그리고 규범적인 부분에 대한 지침을 포함하는 정보 부분(an informative part)이다. 표준의 특성상 규범적인 부분은 읽기가 어려우므로 너무 놀라지 말자. 화가 나서 던져 버리기 전에 정보 부분을 시도해 보라. 대개는 여기가 가장 유용한 부분이다!

 

 

반응형