Top Banner
㈜유미테크 소프트웨어 테스팅 2 발표자 : 개발 2팀 서현용 2017-11-22
30

20171120 tech day-11th-소프트웨어 테스팅2-서현용

Jan 29, 2018

Download

Software

ymtech
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

㈜유미테크

소프트웨어테스팅 2

발표자 : 개발 2팀 서현용

2017-11-22

Page 2: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

목차

• 상용화를 위한 노력

• 테스트 자동화 도구

• Agile 방법론 & 테스팅

22017-11-22

Page 3: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

상용화를 위한 노력

• SW 사용 편의성 및 SW사업화 역량 강화

– SW에 대한 시장 및 수요자 요구사항에 부합하는 SW기술 지원 서비스를 통해 SW질적수준 (완성도, 신뢰도) 제고 및 SW 활용도 향상

• UI/UX 사용성 검증 수행

– 해당 SW제품에 대한 실사용자 관점의 UI/UX 개선 방향성 및 상세 개선안 도출을 위해사용자 평가 수행

– http://www.measuringux.com

– https://uxpa.org

2017-11-22 3

Page 4: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

상용화와 사용성

• 상용 제품의 사용성 개선 효과

– McAfee는 프로그램 사용성 개선을 통해 고객센터 콜 접수 건이 90% 감소

– IBM 사내 인트라넷의 사용성 개선을 통해 업무 소요 시간이 절감되었으며 연 680만 달러 절감

2017-11-22 4

Page 5: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

사용성의 정의

• 소프트웨어가 규정된 조건에서 사용될 때, 사용자에 의해 이해되고 학습되며 선호될 수 있게 하는 소프트웨어 제품의 능력 (ISO/IEC 25060)

• 특정한 사용 상황 내에서 유효하고, 효율적이며, 만족도를 가지고 특정 사용자에의해 특정 목표를 획득할 수 있도록 사용되는 제품의 정도 (ISO/IEC 9242-11)

• 회사가 비용을 절감시키고 사용자의 요구와 부합하는 제품을 만들어내기 위해서개발 사이클 전체에 걸쳐 사용자의 피드백을 받는 개발 방식 (UPA-Usability Professionals Association)

2017-11-22 5

Page 6: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

Summary

• 사용성 테스팅에서 가장 중요한 것은 사용자에 대한 이해와 상호작용

• 감성적인 수준에서 사용자들이 시스템에 대해서 어떻게 느꼈는지가 중요

• 사용성 테스팅의 목적은 사용자들이 여러분의 제품을 가장 먼저 생각하도록 만드는 것

• 제품의 구입 가능성, 서비스의 재방문에 대한 확률을 증가시키는 것은 사용자의주관적인 반응에 기초

• 사용자의 경험은 측정하기 어렵지만 불가능한 것은 아님

– 사용자의 주관적인 의견도 측정자에게는 객관적인 데이터

2017-11-22 6

Page 7: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

Heuristic Evaluation (발견적 평가법)

• 시스템 상태의 가시성 (Visibility of system status)

• 시스템과 현실세계의 일치 (Match between system and real world)

• 사용자 제어와 자유 (User control and freedom)

• 일관성과 표준 (Consistency and standards)

• 유용한 오류 메시지 설계 (Design useful error messages)

• 회상보다는 재인 (Recognition rather than recall)

• 사용에서의 유연성과 효율성 (Flexibility and efficiency in use)

• 미적이고 최소주의적인 디자인 (Aesthetic and minimalist design)

• 오류 방지 (Error prevention)

• 도움말과 문서 (Help and documentation)

2017-11-22 7

Page 8: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

시스템 상태의 가시성

• 시스템은 항상 사용자에게 적절한 시간 내에 적절한 피드백을 통해 무슨 일이 일어나고 있는지에 대한 정보를 계속 제공해야 함

2017-11-22 8

Page 9: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

시스템과 현실세계의 일치

• 시스템은 컴퓨터 용어보다 사용자에게 익숙한 단어, 구문 및 개념과 같은 사용자의 언어를 사용해야 함

• 자연스럽고 논리적인 순서에 따라 정보를 표시하고 현실 세계의 규칙을 따라야 함

2017-11-22 9

Page 10: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

사용자 제어와 자유

• 사용자는 종종 시스템 기능 선택에 실수를 하는데, 이 때 불필요한 정보 없이 원치않는 상태를 떠나기 위해 명확하게 표시된 “비상구"를 필요로 함

• 취소 (undo) 및 다시 실행 (redo) 지원

2017-11-22 10

Page 11: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

일관성과 표준

• 사용자는 다른 언어, 상황 또는 행동이 같은 의미인지 의문을 가질 필요가 없어야함

• 플랫폼 규칙 준수

2017-11-22 11

Page 12: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

유용한 오류 메시지 설계

• 오류 메시지는 (코드가 아닌) 일반적인 언어로 정확하게 문제를 표시하고 건설적인 해결책을 제시하여야 함

2017-11-22 12

Page 13: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

회상보다는 재인

• 객체, 행위 및 옵션을 가시적으로 표시하여 사용자의 기억 부하를 최소화

• 사용자가 정보를 계속해서 기억할 필요가 없어야 함

• 시스템의 사용 방법은 직관적이거나 원할 때마다 쉽게 검색할 수 있어야 함

2017-11-22 13

Page 14: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

사용에서의 유연성과 효율성

• (초보 사용자는 잘 발견하지 못하는) 엑셀러레이터 (단축키, 숨은 기능 등)들은 숙련자와 비숙련자가 시스템을 전문 사용자처럼 사용할 수 있도록 상호 작용의 속도를 빠르게 할 수 있음

• 사용자가 빈도가 높은 동작을 조정할 수 있어야 함

2017-05-19 14

Page 15: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

미적이고 미니멀리스트 디자인

• 관련이 없거나 거의 필요하지 않은 정보는 다이얼로그에 포함하지 않아야 함

• 다이얼로그에서의 정보의 모든 추가 단위는 관련 단위 정보와 경쟁하여 가시성을상대적으로 감소시킴

2017-11-22 15

Page 16: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

오류 방지

• 좋은 에러 메시지보다 오류를 방지하는 메시지가 더 나음

• 오류가 발생하기 쉬운 조건을 제거하거나 억제하고 사용자에게 작업 진행 전에 확인 메시지를 제공함

2017-11-22 16

Page 17: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

도움말과 문서

• 시스템을 문서 없이 사용하는 것이 더 좋은 개념이지만 도움말 및 문서를 제공할필요가 있음

• 도움말은 검색이 쉬워야 하고 사용자의 작업에 초점이 맞추어져 있어야 하며 구체적인 실행의 단계들이 열거되어야 하고 너무 광범위해서는 안됨

2017-11-22 17

Page 18: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

사용자 테스트

• 사용성 문제 발견

• 제품 개발기간 동안 지속적으로 수행

• 가능한 최대한 빨리 테스트 시작

• 가능하다고 생각하는 시점은 이미 늦은 시점

2017-11-22 18

Page 19: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

사용자 테스트 프로세스

2017-11-22 19

테스트 대상 선정테스트 시나리오

작성참가자 선정

테스트 데이터준비

테스트 시나리오적합성 평가

테스트 환경 구축

테스트 수행 회고 결과 보고

Page 20: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

사용자 테스트 환경

• 테스트 룸의 위치는 관찰자들이 알지 못하도록 함

• 참가자와 관찰자들이 만날 수 없도록 테스트 룸과 관찰실을 준비

2017-11-22 20

테스트룸 관찰실

화면 전송

전화, 메신저

참가자

진행자

관찰자

Page 21: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

주의 사항

• 참가자가 자신의 생각을 지속적으로 이야기하도록 유도

• 참가자에게 영향을 끼치는 행위 금지

– 어떠한 힌트도 제공 금지

– 참가자의 의견에 동의 절대 금지

• 참가자의 개인 정보가 발설되지 않아야 함

2017-11-22 21

Page 22: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

성공하는 사용성 테스팅

• 이해관계자들을 테스트에 참여시켜라.

• 간단하고 쉬운 것부터 시작한다.

• 자주 계획하고 상세하게 계획하라.

• 타사 제품과 같이 자사 제품을 벤치마킹 하라.

• 데이터의 신뢰성을 높여라.

• 비즈니스 용어로 말하라.

• 자신감을 보여라.

• 너무 많은 데이터는 독이 된다.

• 데이터를 시각화하고 간단하게 발표하라.

2017-11-22 22

Page 23: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

테스트 자동화 도구

• WHY?

– 기존의 설계와 테스트 문서를 분리하던 개발 방식에서 벗어나 설계와 문서를 동기화하여 문서 작성, 유지보수 등에 도움을 줌으로써 생산성을 높일 수 있음

– 다양한 시스템간의 융합과 이에 따른 SW의 복잡성으로 인한 한계를 극복하기 위해 도구의 필요성이 증대되는 추세

2017-11-22 23

Page 24: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

테스트 자동화 도구

• 테스트 자동화 효과

– 자주 반복되는 테스트 항목에 대한 인적 자원의 손실을 막음

– 휴먼 에러에 대한 불안감을 해소시켜 줌으로써 품질에 대한 확신을 얻음

– 시간과 비용을 줄임

– 테스팅의 정확성을 향상시킴

– Manual Testing으로 불가능한 영역을 커버

2017-11-22 24

Page 25: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

테스트 자동화 도구

2017-11-22 25

상용 SW 공개 SW

Page 26: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

테스트 자동화 도구

• Load Runner

– Virtual User Generator

– Controller

– Analysis

2017-11-22 26

Page 27: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

테스트 자동화 도구

2017-11-22 27

Page 28: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

테스트 자동화 도구

2017-11-22 28

Page 29: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

테스트 자동화 도구

2017-11-22 29

Page 30: 20171120 tech day-11th-소프트웨어 테스팅2-서현용

Q & A

30