[팀블로그] 소프트웨어 테스팅 참고서

ISO/IEC 9126과 IEEE/ISO/IEC 25010에 대해 알고 싶어요.

2020. 11. 25. 20:59
글쓴이 © 『 Lv8+の 꽃怪獸 』 천년나무

목차

 

     

질문

ISTQB를 공부하다 보니 국제 표준과 관련된 해설들이 가끔 보이네요. ISTQB-FL을 준비하는 초보가 알아야 하는 내용이라고 다른 분의 블로그에 소개된 내용 중에 ISO/IEC 9126과 ISO/IEC 25010에 대해 알고 싶어요.

 

그리고 혹시 ISTQB를 공부하며 그 외에 알아야 할 테스팅 관련 국제 표준이 있나요?

 

ISTQB 버전

ISTQB Syllabus 2018

 

답변

ISTQB 자격증 취득을 위한 국제 표준 vs 실제 업무를 위한 국제 표준

ISTQB 자격증 취득을 위해 국제 표준을 공부해야 한다면, 솔직히 말씀드려 "불필요하다"라고 말씀드리고 싶습니다. 국제 표준은 '현업에서 발생하는 여러 문제들을 일반론적 관점에서 해결하기 위해 제시하는 가이드라인'입니다. ISTQB를 공부하시는 과정에서는 "아, 이런 표준들이 있구나." 정도 수준에서 멈추셔도 됩니다.

 

왜냐하면 소프트웨어 테스팅을 업(業)으로 삼고 살아가는 사람은 수 많은 국제 표준을 이해하고 현실에 적용해야 하는 경우들이 꽤 많습니다. 개발하는 제품/서비스를 해외로 수출하려는 경우 대부분 그 나라의 여러 가지 규제사항, 법령 등을 이해하고 있어야 하며, 이런 부분들이 테스팅 업무 진행 시 표준과 연관됩니다. 특히나 연차가 높아져 프로젝트 매니저나 개발팀의 관리자가 QA 담당자에게 '품질관리'까지 업무를 확장시켜 담당하시게 되면 단순히 '품질 표준' 몇 개를 넘어 더 많은 기술 표준을 알아야 하는 경우도 많습니다. (멀리 가지 않으셔도 당장 우리 카페에만도 관련한 글들이 굉장히 많습니다.)

 

오늘은 일단 그 수 많은 표준과 관련된 이야기들 중 질문 내용의 키워드인 ISO/IEC 9126과 ISO/IEC 25010에 대해서만 설명드릴까 합니다. ISTQB에서 정확히 이 표준의 내용을 알고 있냐고 물어보지는 않습니다만, 이 표준과 관련된 내용이 ISTQB 관련 해설에 자꾸 등장하는 이유는 이 표준들을 기반으로 해야만 쉽게 이해되는 부분들이 많기 때문입니다.

 

그리고 알고 계시면 유리한 또 하나의 표준은 IEEE/ISO/IEC 29119 표준입니다. 나중에 기회가 될 때 ISTQB 국제 표준인 IEEE/ISO/IEC 29119와 표준 관련된 이야기들에 대해서 따로 소개해 드리겠습니다.

 

국제 표준 약자의 의미 및 존재 이유

먼저 국제 표준의 약자부터 살펴보겠습니다.

  • ISO : International Organization for Standardization, 국제표준화기구
  • IEC : International Electrotechnical Commission, 국제전기기술위원회
  • IEEE : Institue of Electrical and Electronics Engineers, 국제전기기술자협회
ISO-IEC-IEEE


공부하는 사람 머리 아프게 각자 다른 국제 표준이 참 많습니다. 그런 기구들의 존재 이유는 원활한 무역 및 기술 발전을 위해 표준을 제정하고 국가 간 협력을 촉진함으로써 얻어지는 이익들이 크기 때문입니다. 그러니 위 표준 국제기구들을 너무 자세히 아실 필요는 없습니다.

 

ISO/IEC 9126과 IEEE/ISO/IEC 25010 간단 소개

ISO/IEC 9126과 ISO/IEC 25010은 소프트웨어 제품의 『품질특성』을 정의하고, 품질을 평가하기 위한 기준(Metrics)을 정의한 표준입니다. 소프트웨어 제품을 사용하는 사용자의 입장에서 "어떤 특징을 가진 소프트웨어가 품질이 높은 소프트웨어라 할 수 있는가?"에 대한 관점으로 접근하여 『품질특성』을 정의하였습니다.

 

ISO/IEC 9126 표준의 이름은 「Software Engineering - Product Quality」입니다. 한국어로 굳이 번역하자면 「소프트웨어 공학 - 제품 품질」이라 할 수 있겠습니다. 그리고 IEEE/ISO/IEC 25010 표준의 이름은 「Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality model」입니다. 이 또한, 굳이 한국어로 번역하자면 「시스템 및 소프트웨어 공학 - 시스템과 소프트웨어 요구사항과 평가 (스퀘어) - 시스템 및 소프트웨어 품질 모델」 정도로 이해할 수 있습니다.

 

  • ISO 9126의 품질 특성 : 기능성, 신뢰성, 사용성, 효율성, 유지보수성, 이식성
  • ISO 25010의 품질 특성 : 기능적합성, 신뢰성, 사용성, 실행효율성, 유지보수성, 이식성, 호환성, 보안성

 

ISO/IEC 25010:2011(en) Systems and software engineering 


ISO/IEC 9126 표준은 1991년 처음 발표되었으며, 이후 2001년 개정됩니다. 그리고 10년 뒤인 2011년, ISO/IEC 9126 표준은 IEEE/ISO/IEC 25010 표준으로 대체 됩니다. (※ 출처 : ISO/IEC 9126-1: 2001) 그리고 이 또한 앞으로 얼마나 더 세부적으로 발전할 지 함부로 가늠할 수 없습니다. 아마 인류가 소프트웨어를 발전시켜 나아가는 동안은 지속적으로 발전할 예정임은 쉽게 예상할 수 있겠네요.

 

IEEE/ISO/IEC 25010 - SQuaRE

ISO/IEC 9126 표준과 IEEE/ISO/IEC 20510 표준에 대해서는 해당 분야의 전문가들도 많고, 검색해 보시면 한글 자료들도 많기 때문에 굳이 본 블로그의 필진들이 전체를 쉽게 설명을 드리기보다 『관련 참고 자료』 쪽에 관련 내용들을 소개해 두겠으니 참고하여 주세요. 

 

지금부터 IEEE/ISO/IEC 25010 표준은 간단히 SQuaRE라고 부르겠습니다. 우리는 ISTQB 자격증과 관련된 내용을 이야기하는 블로그이므로, 아래 SQuaRE가 어떤 식으로 테스팅 활동 및 품질관리 활동과 연관이 있는지에 대해 간략히 논하겠습니다.

 

IEEE/ISO/IEC 25010

 

위 그림의 큰 분류의 의미는 아래와 같습니다. 세부적인 내용을 모두 설명하고 예제도 들어드리고 싶지만, ISTQB와 크게 연관 짓기에는 대분류 정도로도 충분해 보입니다.

 

characteristic definition
기능적합성 제품 혹은 시스템이 명시된 조건에서 사용될 경우 명시되거나 암시된 요구를 충족시키는 기능을 제공하는 정도
수행 효율성 규정된 조건 하에 사용된 자원의 크기에 대한 상대적 성능
호환성 같은 하드웨어 혹은 SW 환경을 공유하는 동안 기타 제품, 시스템 혹은 구성요소를 교환할 수 있고/혹은 요구된 기능을 구성할 수 있는 정도
유용성 제품 및 시스템이 명시된 사용 환경에서 유효성, 효율성 및 만족의 명시된 목적을 달성하는 명시된 사용자에 인해 사용될 수 있는 정도
신뢰성 시스템, 제품 혹은 구성요소가 시간이 명시된 기간에 대해 명시된 조건 하에서 명시된 기능을 구성하는 정도
보안 제품 혹은 시스템은 정보 및 데이터를 보호한다. 그래서 사람 혹은 기타 제품 혹은 시스템이 자신의 유형 및 인증 정도에 적절한 데이터 접근의 정도를 가지고 있다
유지관리성 제품 혹은 시스템의 유효성이 유지 관리자로 인해 변경될 수 있는 정도
이동성 시스템, 제품 혹은 구성요소는 하드웨어, SW 혹은 기타 운영 혹은 다른 하나의 사용 환경으로 전환될 수 있는 유효성 및 효율성의 정도
< 표. SQuaRE에서 정의한 소프트웨어 품질 특성 - 논문 「소프트웨어 제품과 프로세스 관점에서 국제표준과 비교를 통한 테스팅 프론티어 역량평가 모델 개선 방안」에서 발췌 >

이런 품질 특성이 대체 실무와 어떻게 관련이 있는 걸까요?

 

이렇게 예를 들어 보겠습니다. 우리가 보안 제품을 만들어서 해외에 수출을 하기로 했습니다. 우리 제품의 품질이 좋다는 것을 어떻게 해외의 사람들에게 어필할 수 있을까요? 언어도, 문화도, 가치관도 다른 그들에게 우리 제품의 품질을 어떻게 증명할 수 있을까요?

 

그 방법 중 하나는 바로 국제 표준의 품질 특성을 이용하는 것입니다. 위 SQuaRE에서 "보안"의 세부 항목들을 보시면 『Confidentiality(기밀성), Integrity(무결성), Non-repudiation(부인방지), Authenticity(인증성), Accountability(책임성)』 등의 특성을 지녀야 한다고 세부 항목들이 기재되어 있습니다. 이런 특성들을 테스트해야 하기 때문에 QA와 Tester들은 국제 표준을 이해하고 있어야 합니다.

 

간단히 예를 들기 위해 간단한 체크리스트를 만들어 보았습니다. 대략 이런 식입니다.

 

[ 사용자 가입 화면에서 데이터를 입력 받을 경우의 무결성 확인 체크리스트 ]

목표 : 사용자가 시스템에 데이터를 입력하는 경우, 해당 입력 데이터의 유효성을 확인할 수 있어야 한다.
1. 사용자 정보 입력 필드에 HTML 태그 입력 시 필터링을 통해 일반 문자로 인식하도록 한다.
2. 사용자 정보 입력 필드에 특수 문자에 대한 handling이 구현되어 있어야 한다. (무시할 특수 문자)
   ex) ! @ # $ % ^ * ~ : ; < > 등

3. 사용자가 시스템을 이용하며 사용해야 하는 필요한 특수 문자를 처리할 수 있어야 한다. (허용할 특수 문자)
   ex) ' " & ( )?
4. 문자 입력 시 해외의 다른 encoding 혹은 깨진 문자 값에 대한 오류 처리가 되어 있어야 한다. 
   ex) 供뭏풰E轢D鍮? V? 쐺 등
5. 사용자 가입 시 이름, 암호, 이메일, 전화번호 등의 입력 항목의 data type을 확인해야 한다.
6. 사용자 가입 시 이름, 암호, 이메일, 전화번호 등의 최소/최대 길이를 확인해야 한다. 
7. 사용자 가입 시 암호 입력 필드는 ● 표시로 가려져야 한다.
8. 사용자 가입 시 입력 암호/재입력 암호의 일치를 확인해야 한다.
(※ 참고 : 위의 checklist는 2008년~2013년까지 실제로 필자가 개발하여 사용했던 build sanity checklist의 일부에서 발췌했습니다.)

필자는 해외의 고객과 업무를 진행하며 Test Scope(테스트 범위) 및 Test Case(테스트 케이스)로 필자가 참여했던 제품/서비스가 국제 표준의 여러 사항들을 만족함(Comformance)을 증명했었습니다. 위 예제는 Checklist 형태이며 실제 Test Case는 훨씬 자세하고 방대합니다. Test Case에는 사업상에 필요한 프로젝트 경영 측면과 개발 중요도에 따른 상세한 프로그래밍 측면을 모두 고려한 내용들을 담으려 노력했었습니다.

 

이런 식으로 국제 표준에서 말하는 「품질 특성」과 「테스트 활동으로 확인하는 품질에 대한 증명은 서로 연관될 수 있습니다. 

 

ISTQB 자격증을 위해서 알아야 할 내용은?

위의 예에서 보신 바와 같이 국제 표준의 품질 특성은 테스트 실무에 많은 연관성이 있으며, ISTQB 자격증 시험을 위해서가 아닌 실무에서 훨씬 많이 다루게 되므로 굳이 자격증 시험을 위해서 자세한 내용을 아실 필요는 없습니다.

 

다만, "국제 표준 중에 프로세스 표준(IEEE/ISO/IEC 29119)나 품질 특성에 대한 표준(IEEE/ISO/IEC 25010) 등 다양한 표준들이 존재하며, 이를 실무에 사용할 수 있다." 정도에 대한 이해와 각 표준이 "대략 어떤 내용인지" 정도를 이해하고 계시면 됩니다.

 

소프트웨어 품질 관련 읽어 볼만한 논문 소개

마지막으로 본 글의 주제와 관련하여 논문 『소프트웨어 제품과 프로세스 관점에서 국제표준과 비교를 통한 테스팅 프런티어 역량평가 모델 개선 방안』을 소개합니다.

 

해당 논문은 정보통신산업진흥원에서 개발하여 중소기업들의 프로세스 개선을 위해 사용하던 TCAM(Testing frontier Capability Assessment Model)과 관련한 내용이오니 관련 정보를 찾고 계시는 분들께 도움이 되셨으면 합니다.

 

참여자 정보

 글쓴이 : 천년나무

• 검토한이 : 아이티마니, 품생품사, 현의노래

 

STEEG 개인 의견

※ STEEG 전문가들의 개인 의견은 각 전문가 개인이 경험한 경력에 따른 주관적 견해입니다. 
    이런 개인 의견들의 경우는 그룹 전체의 의견을 대표하지 않음을 알립니다.

국제 표준에 대한 개략적인 이야기는 본 글의 필자 중 한 사람인 「천년나무」님이 곧 의견을 게재할 예정입니다.

 

 

관련 참고 자료

 ※ 아래는 필자들이 선정한 관련 외부 자료입니다. 
     아래 자료들은 필자들이 작성한 본문 의견과 다를 수 있으며, 필자들과 관련되지 않았을 수 있습니다.
 

ISO/IEC 9126-1:2001

Software engineering — Product quality — Part 1: Quality model

www.iso.org

 

ISO 25010

 

iso25000.com

 

International Organization for Standardization - Wikipedia

An international standard-setting body composed of representatives from national organizations for standards The International Organization for Standardization (ISO; ) is an international standard-setting body composed of representatives from various natio

en.wikipedia.org

 

Institute of Electrical and Electronics Engineers - Wikipedia

This article needs to be updated. Please update this article to reflect recent events or newly available information. (October 2020) Scholarly society, publisher and standards organization, headquartered in US The Institute of Electrical and Electronics En

en.wikipedia.org

 

International Electrotechnical Commission - Wikipedia

International standards organization The International Electrotechnical Commission[4] (IEC; in French: Commission électrotechnique internationale) is an international standards organization[5][6] that prepares and publishes international standards for all

en.wikipedia.org

 

ISO 25010 품질 특성

품질은 고객의 요구사항을 만족시키는 제품의 특성들의 집합입니다. KS X ISO/IEC 25010 Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and s..

devforperson.tistory.com

 

[ EIRIC 연구문헌 ] 국제표준 ISO/IEC 9126, ISO/IEC 25010, ISO/IEC/IEEE 29119와 비교한 TMMi, TPI기반 테스팅 프

2014년 컴퓨터종합학술대회 Current Result Document : 21 / 286 한글제목(Korean Title) 국제표준 ISO/IEC 9126, ISO/IEC 25010, ISO/IEC/IEEE 29119와 비교한 TMMi, TPI기반 테스팅 프론티어 역량 평가 모델 개선 방안 영문제

www.eiric.or.kr

 

Ksejw2011 테스팅프론티어역량평가모델소개와2010평가사례소개및분석발표 윤형진

2011.08.18 am 9:00 ~ am10:30

www.slideshare.net

 

O2 아빠의 낙서장~~ : 네이버 블로그

블로그 마케팅 요청 메일, 쪽지 삭제합니다. 제 강의를 듣는 학생분들께서는 학교 메일로 문의/요청 부탁드립니다. ^^

blog.naver.com

 

ISO/IEC 9126 & 25010 | 스플렉스

외부지표 (External Metrics)와 내부지표 (Internal Metrics) 외부지표 (External Metrics) 실행 가능한 SW, 시스템을 시험, 운영 또는 관찰을 통하여 시스템을 구성하고 있는 일부분으로부터 추출된 소프트웨어

www.splex.co.kr

 

ISO/IEC 9126 개론(요약소개)

​1. ISO/IEC 9126 개요컴퓨터는 여러 산업의 전반에 걸쳐 핵심적인 역할을 수행하고 있어 이의 오작...

blog.naver.com

 

ISO/IEC 25010 System and software quality models 소개

​ISO/IEC 25000 소개에서 SQuaRE(Software Product Quality Requirements and Evaluation)...

blog.naver.com

 

ISO 25010 품질 특성

품질은 고객의 요구사항을 만족시키는 제품의 특성들의 집합입니다. KS X ISO/IEC 25010 Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and s..

devforperson.tistory.com

 

 

이 글을 공유합니다.

facebook twitter kakaoTalk kakaostory naver band

※ 알림 : 본 블로그는 소프트웨어 테스트&품질 카페 (https://cafe.naver.com/swtester)의 '앞마당멀티' 사이트이며, 본 블로그 자체에서 댓글, 방명록 등 커뮤니티 기능을 지원하지 않습니다.

일반적으로 공개 커뮤니티에서는 다양한 사람들의 의견이 모이기 때문에 많은 논의가 다양한 관점에서 이루어지기 적합하지만, 또 다양한 사람들이 모이는 커뮤니티의 특성상 객관성과 주관성이 모호하게 표현되기도 합니다. 그렇기 때문에 전문적인 지식을 정리하기에 적합하지 않다고 생각하여 전문 지식 컨텐츠 게시를 목적으로 할 공간을 확보할 필요가 있었습니다. 그런 이유로 본 블로그에서는 전문 지식의 내용이 희석되거나, 변질될 가능성이 높은 커뮤니티 기능을 분리하기로 결정하였습니다.

본 블로그 내용에 대해 논의하고 싶으신 내용이 있으시거나, 반론 게재, 수정 요청, 개인 의견 추가, 혹은 추가로 궁금하신 점들 등은 소프트웨어 테스터&품질 카페의 '질문과 답' 게시판에서 언급하여 진행해 주십시오. 필진들이 진중하게 논의하여 반영이 필요하다고 생각되는 내용은 참고하여 반영하겠습니다.