실기_2과목 UI 테스트 - JuNijen/Industrial-Engineer-Information-Processing GitHub Wiki

#022. 사용자 인터페이스

1. 사용자 인터페이스 (UI, User Interface)

사용자 인터페이스는 사용자와 시스템 간의 상호작용이 원활하게 이뤄지도록 도와주는 장치나 소프트웨어를 의미한다.

사용자 인터페이스의 세 가지 분야

  1. 정보 제공과 전달을 위한 물리적 제어에 관한 분야
  2. 콘텐츠의 상세적인 표현과 전체적인 구성에 관성에 관한 분야
  3. 몬든 사용자가 편리하고 간편하게 사용하도록 하는 기능에 관한 분야

2. 사용자 인터페이스의 구분

  1. CLI(Command Line Interface) 명령과 출력이 텍스트 형태로 이뤄지는 인터페이스.
  2. GUI(Graphical Usesr Interface) 아이콘이나 메뉴를 마우스로 선택하여 작업을 수행하는 그래픽 환경의 인터페이스.
  3. NUI(Natural User Interface) 사용자의 말이나 행동으로 기기를 조작하는 인터페이스.

3. 사용자 인터페이스의 기본 원칙

  1. 직관성 : 누구나 쉽게 이해하고 사용할 수 있어야 함.
  2. 유효성 : 사용자의 목적을 정확하고 완벽하게 달성해야 함.
  3. 학습성 : 누구나 쉽게 배우고 익힐 수 있어야 함.
  4. 유연성 : 사용자의 요구사항을 최대한 수용하고 실수를 최소화해야 함.

#023. 사용성 테스트

1. 사용성 테스트 (Usability Test)

시스템에 구현된 UI를 일반 사용자가 사용하면서 문제점이나 개선점을 도출해 내는 방식의 테스트이다. UI의 만족도나 완성도, 효율성 등을 확인하고 향상시키기 위해 수행한다. 사용자가 접근하고 이용하는 측면에서 선호할 만한 기능을 테스트한다. 요구사항의 반영 여부를 점검한다. 테스트 과정에서 발생한 새로운 요구사항은 소프트웨어 구현 과정에서 반영한다.

사용성(Usability)

사용자와 컴퓨터 사이에 발생하는 어떠한 행위에 대하여 사용자가 정확하게 이해하고 사용하며, 향후 다시 사용하고 싶은 정도를 나타냅니다.

사용성에 대한 다른 정의

  • Jakob Nielsen : 학습용이성, 사용효율성, 기억용이성, 최소한의 에러, 주관적 기쁜의 요건을 충족시킴으로써 얻어지는 시스템의 특성.
  • UPA(Usability Professionals' Association) : 회사가 비용을 절감시키고 사용자의 요구에 부합하는 제품을 만들기 위해 개발 사이클 전체에 걸쳐 사용자의 피드백을 받는 제품 개발 방식.

2. 사용성 테스트 기법의 종류

파일럿 테스트(Pilot Test) : 구현 전에 소규모로 시험 작동해 보거나, 모의로 시행해 보는 기법. NEM 기법(Novice Expert ratio Method) : 초심자와 대상 제품의 설계 및 개발에 참여한 숙련자를 테스트에 참여시킨 후 수행시간을 비교하여 문제점을 찾는 기법. 심층 인터뷰(In Depth Interview) : 테스트에 참여한 사용자와 일대일 면접을 통해 심리를 파악하는 기법으로, 조사원의 숙련도에 따라 결과의 신뢰성과 타당성이 변할 수 있음. 포커스 그룹 인터뷰(FGI; Focus Group Interview) : 제품 사용이 예상되는 사용자를 6~12명 정도 선발하여 면접자의 진행 아래 조사 목적과 관련된 토론을 통해 통해 의견을 수집하는 기법. 맥락적 인터뷰 : (Contextual Inquiry/ Interviews) : 제품의 사용 과정 가운데 특정 상황이나 맥락을 정한 후 사용자가 해당 환경에서 사용하는 동안 인터뷰를 진행하면서 의견을 수집하는 기법.

3. 사용성 평가 분석서

사용성 테스트의 결과 데이터들을 취합하고 분석하여 문서화한 것. 분석된 데이터는 가이드 자료로 활용하거나, UI의 수정·보완 등의 향후 적용 계획에 반영한단. 사용성 평가 분석서로 인해 변경된 설계가 UI 테스트에 적용될 수 있어야 한다.

사용성 평가 분석서에 사용되는 분석 기법

  1. 에러 매트릭스 : 테스트 수행 중에 사용자가 범한 실수를 수집하여 분석하는 기법.
  2. 효율성 매트릭스 : 테스트의 수행 시간, 테스트의 완료까지 사용자가 수행한 행동의 개수, 테스트 성공률 등을 분석하는 기법.
  3. 시간 기반 태스크 매트릭스 : 테스트의 각 구간 마다 수행 시간을 기록하여 분석하는 기법.

#024. UI 테스트 기법의 종류

1. UI 테스트

구현된 UI의 사용성을 검증하기 위해 테스트를 수행하고, 결과에 따라 개선 및 결과 보고서를 작성하는 행위 또는 그 절차를 의미한다. 사용자가 미리 작성된 시나리오에 따라 직접 제품을 사용하면서 진행하는 사용자 중심의 테스트이다. 사용자의 요구사항과 행동을 관찰할 수 있는 유용한 진단 방법이다. UI 테스트 중에 발생되는 산출물은 사용자 메뉴얼 작성 시 중요한 참고자료가 된다.

2. UI 테스트 기법의 종류

  1. 휴리스틱 평가 (Heuristic Evaluation) 최소 3명 이상의 디자인 전문가가 사전에 작성한 원칙에 따라 제품을 평가하는 기법이다. UI의 구현 정도에 관계없이 평가가 가능하다. 전문가의 능력에 따라 평가 시간이나 수준이 달라진다. 주로 Jakob Nielsen의 10개 원칙이 평가에 사용된다.
  2. 페이퍼 프로토타입 (Paper Prototype) 종이로 해당 서비스를 간단하게 만들어 실제 구현되는 것처럼 표현하고, 이를 이용하여 테스트하는 평가 방법이다. 프로토타입 작성 시 포함되어야 할 중요한 내용을 체크리스트로 작성한다. 테스트 기법 중 가장 빠른 방법으로, 제품의 전반적인 컨셉과 흐름을 보여준다. 테스트 참가자들이 최종 제품에 대한 기대를 갖지 않고 더 자유롭게 의견을 내는 경향이 있다.
  3. 선호도 평가 (Preference Evaluation) "A보다 B가 더 좋다"와 같이 선호도에 영향을 주는 속성들을 파악하고 예측하기 위한 기법이다. 사용자의 감성을 분석하기 위해 과학적인 시점에서 객관적으로 해석한다. 자료의 특성에 따라 점수, 순위, 태도 기반 선호도, 속성 기반 선호도 중 알맞은 추정법을 적용하여 분석한다.
  4. 성능 평가 (Performanace Evaluation) 개발의 마지막 단계에서 제품의 학습성, 효율성, 기억용이성, 오류, 만족도 등을 평가한 결과를 바탕으로 성능을 개선하는 기법이다.
  5. 컨셉 모델 (Concept Sorting) 추상적인 컨셉들과 그 사이의 관계를 간편하게 시각화하여 표현하는 모형.
  • UI 컨셉션 : 주요 화면에 대한 컨셉 모델.
  • GUI 컨셉션 : UX에 대한 컨셉 모델로, 주요 화면에 대한 시안을 디자인 하거나 컨셉 보드를 제작함.
  1. 멘탈 모델 (Mental Sorting) 사람들의 행동 동기와 사고 과정을 표현한 후 의미상 가까운 것끼리 모은 다음 행동들의 패턴을 찾아 정의하는 모형.
  2. 카드 소팅 (Card Sorting) 아이디어와 컨셉을 카드에 적은 후 분류 및 정렬하여 그룹화시킴으로써 정보를 구조화하는 방법.

#025. UI 테스트 결과 보고

1. UI 테스트 결과 보고

사용성 및 UI 테스트를 통해 도출된 결과에 대해 개선 방안을 마련하고 이를 토대로 수정 계획을 수립하여 수행한 후 작성된 결과 보고서를 관련 부서와 공유하기까지의 과정을 의미한다. 각 과정에서는 컨셉 모델, 멘탈 모델 등의 기법을 활용하여 UI의 구조와 아이디어를 효율적으로 전달한다.

2. UI 테스트 결과 보고 프로세스

  1. UI 개선 방안 및 수정 계획 수립 : 싸용성 및 UI 테스트를 통해 도출된 결과를 대상으로 개선이 필요한 항목을 선정한다. 하나의 개선 항목을 개선할 경우 다른 항목에 미치는 영향의 상관관꼐를 분석하여 개선 방안에 반영한다.
  2. UI 개선 및 수정 수행 : 이전 과정에서 수립된 개선 방안 및 수정 계획을 바탕으로 UI를 개선한다.
  3. UI 개선 결과 보고서 작성 및 공유 : 개선된 UI는 ISO/IEC 9126 등의 표준을 활용하여 품질을 측정한다. 개선된 UI의 사용자 반응 확인을 위해 정량적·정성적 리서치를 수행한다. 결과 보고서를 작성하여 관련 부서에 공유한다.

#026. 품질 요구사항

1. 품질 요구사항

소프트웨어 품질은 소프트웨어에 대한 요구사항이 사용자의 입장에서 얼마나 충족하는가를 나타내는 소프트웨어 특성의 총체이다. 소프트웨어의 품질은 사용자의 요구사항을 충족시킴으로써 확립된다.

소프트웨어 품질 관련 표준

  1. ISO/IEC 9126 : 소프트웨어의 품질 특성과 평가를 위한 국제 표준.
  2. ISO/IEC 25010 : ISO/IEC 9126에 호환성과 보안성을 강화하여 개정한 소프트웨어 제품에 대한 국제 표준
  3. ISO/IEC 12119 : 패키지 소프트웨어의 일반적인 제품 품질 요구사항 및 테스트를 위한 국제 표준.
  4. ISO/IEC 14598 : 소프트웨어 품질의 측정과 평가에 필요 절차를 규정한 표준.

2. ISO/IEC 9126의 소프트웨어 품질 특성

기능성(Functionality)

소프트웨어가 사용자의 요구사항을 정확하게 만족하는 기능을 제공하는지 여부를 나타냄. 하위 특성 : 적절성/적합성, 정밀성/정확성, 상호 운용성, 보안성, 준수성

신뢰성(Reliability)

주어진 시간동안 주어진 기능을 오류 없이 수행할 수 있는 정도를 나타냄. 하위 특성 : 성숙성, 고장 허용성, 회복성

사용성(Usability)

사용자와 컴퓨터 사이에 발생하는 어떠한 행위에 대하여 사용자가 정확하게 이해하고 사용하며, 향후 다시 사용하고 싶은 정도를 나타냄 하위 특성 : 이해성, 학습성, 운용성, 친밀성

효율성(Efficiency)

사용가 요구하는 기능을 얼마나 빠르게 처리할 수 있는지 정도를 나타냄 하위 특성 : 시간 효율성, 자원 효율성

유지 보수성(Maintainability)

환경의 변화 또는 새로운 요구사항이 발생했을 때 소프트웨어를 개선하거나 확장할 수 있는 정도를 나타냄 하위 특성 : 분석성, 변경성, 안정성, 시험성

이식성(Portability)

소프트웨어가 다른 환경에서도 얼마나 쉽게 적용할 수 있는지 정도를 나타냄 하위 특성 : 적용성, 설치성, 대체성, 공존성

⚠️ **GitHub.com Fallback** ⚠️