전체 글
-
SRS(Software Requirements Specification) 이란? + 템플릿 공유SW 품질관리 2023. 4. 25. 13:31
소프트웨어 프로젝트에서 문서를 딱 하나만 만들어야된다면, 시간이 없다면? 당장 SRS부터 작성해야 한다. 요구사항 분석 문서의 종류는 수도 없이 많다. 개발방법론에 따라 제시하는 요구사항 문서가 다르고, 그 개수도 다르다. 하지만 그 많은 순서 중 가장 중요한 문서는 SRS이다. ■ SRS = Software Requirements Specification 요구사항 문서는 프로젝트에서 작성하는 산출물 중 가장 중요하다. 위 그림, 소프트웨어 프로젝트 나무에서 보는 바와 같이 요구사항 문서인 SRS는 소프트웨어 프로젝트의 기둥이다. 잘못된 요구사항은 많은 재작업 비용을 필요로 한다. 요구사항 오류는 개발 단계가 지나가면 지나갈 수록 그 수정 비용이 기하급수적으로 증가한다. 초반부터 충분히 검토해서 오류가 ..
-
알파테스트와 베타테스트SW 품질관리 2023. 4. 13. 14:07
게임을 좋아하는 사람들은 알파테스트, 베타테스트라는 용어를 들어봤을 것이다. 이 용어는 범용적으로 쓰여서 의미를 알아두면 좋다. ■ 알파테스트 개발 완성 시제품으로 내부 직원들을 상대로 하는 테스트 전문 테스터가 하는 테스트라기 보다는 내부 직원 또는 해당 제품과 관련있는 일부 사람들만 참여하는 테스트이다. 오류가 많을 수 있으며 아직 구현되지 않았거나 유저인터페이스도 제작되지 않은 형태의 기능도 존재할 수 있다. 일반 사용자에게 보여지기 전에 내부 직원들의 비즈니스적인 평가가 진행되며 이로 인해 개발 일정 자체가 완전히 바뀌거나 프로젝트가 폐기되기도 한다. ■ 베타테스트 알파테스트를 마친 상태의 버전으로 정식 서비스를 시작하기 전에 일반 사용자를 초청하여 테스트에 참여시키는 테스트 출시 전에 최대한 테..
-
Verification과 Validation의 차이?SW 품질관리 2023. 4. 13. 11:27
정보처리기사는 물론 모든 품질 관리 서적에서 나오며 또 많은 테스터들이 혼란스러워하는 용어가 Verification(검증)과 Validation(확인)이다. 심지어 한글 뜻이 진짜 비슷해서 의미 전달이 매우 혼란스럽다. 학부시절, 컴퓨터 시뮬레이션 관련 수업을 들을 때 모든 족보에 나오는 1번 단골 문제가 두 용어의 차이를 쓰라는 문제였는데 미친 듯이 달달 외웠던 기억이 있다ㅋㅋㅋㅋ 한 마디로 정리하자면, 용어 한글 중심 의미 Verification 검증 개발자 관점 스펙에 대한 요구사항을 지켰나? Validation 확인 사용자 관점 사용자에 대한 요구사항을 지켰나? 난 학부시절 계피사다 4글자로 외웠다ㅋㅋㅋ 이거 말고 외워야 할 시험문제는 많았기에 … 개발자 관점에서, verification. 사용자..
-
[경쟁력 있는 소프트웨어 테스터가 되는 법] 현업에서 혼용되는 다양한 용어 풀이 (버그와 에러 차이? 랜덤테스트와 애드혹테스트의 차이? N/A, N/T, N/I 등)SW 품질관리 2023. 4. 12. 08:32
아래는 많은 테스터들과 개발자들이 소프트웨어 테스팅을 진행하는 동안 혼란스러워하는 대표적인 용어들이다. 그러나 현업에서 사전적으로 구분하는 것이 꼭 필요하진 않다. 현업에서 만나는 개발자들과 의사소통 할 때 모른다고 해서 전혀 문제될 것이 없지만 의미만 명확하게 구분지으면 될 듯 하다. (개인적으로 헷갈리는 것들을 책에서 뽑아 간추렸다ㅎㅎ) 1) bug, error, defect, fault, failure ● Error (에러) : 개발자의 잘못된 이해로 설계 실수, 프로그램 코딩 중 타이핑을 잘못하는 입력 행위 자체. 즉, 실수하는 행위 자체이다. ● Fault (=defect, bug) : 폴트는 에러로 인한 현상의 결과이다. 일반적으로 결함이라고 부르며 요구서의 규격에 맞지 않는 작동을 의미하기도..
-
리니어모터의 모든 것 (종류, 장단점, 구동원리, 자기부상열차)기구 2023. 4. 10. 16:27
리니어모터란? 리니어모터는 평평하게 펼친 일반 회전형 모터이다. ■ 공통점 : 일반 회전형 모터를 축방으로 잘라 높은 형태를 갖고 있지만 동작 원리는 회전형모터와 동일하다. ■ 차이점 : 1) 일반 회전형 모터는 회전형의 운동력을 발생시키나 리니어모터는 직선방향으로 미는 힘, 즉 추력을 발생시키는 점이 다르다. 2) 일반 회전형 모터는 회전자가 돌아가지만 고정자는 고정되어 있으나, 리니어모터는 회전자 또는 영구자석 트랙 중 하나를 움직이게 할 수 있다. 리니어모터의 종류? 1) LIM(Linear Induction Motor) : 대추력을 얻기 위한 리니어 유도 모터 (위치 결정요소) 2) LSM(Linear Synchronous Motor) : 고속 운송을 위한 리니어 동기 모터 (고속 및 대추력 제어..
-
자바 코드의 CC2 측정 예제SW 품질관리 2023. 4. 10. 14:06
출처 : NHN은 이렇게 한다! 소프트웨어 품질관리 다음은 자바 코드의 CC2 측정 예제이다. - 각 예제에서 CC2 값이 증가하는 부분은 연두색으로 표시했다. - CC2는 최소 값이 1이다. 1. CC2값이 1인 예제 public void cc1() { System.out.println(“CC is one”); } 2. CC2값이 2인 예제 public void cc2(boolean bPrint) { if (bPrint){ System.out.println(“if”); } else { System.out.println(“if else”); } System.out.println(“CC is two”); } 3. CC2값이 3인 예제 (1) public void cc3(boolean bFirst, bool..
-
사이클로매틱 복잡도란? [NHN은 이렇게 한다!]SW 품질관리 2023. 4. 6. 15:55
(참고) 아래 글은 NHN은 이렇게 한다! 책의 일부를 발췌함을 밝힙니다. 사이클로매틱 복잡도 (cyclomatic complexity) ■ 도입 우리가 작성하는 코드 중 많은 부분이 시간이 흐름에 따라 사라지기보다는 진화하면서 끈질기게 살아남는다. 처음 코드를 작성할 때 요구사항을 정확하고 간결하게 구현해도 지속적인 기능 확장과 유지 보수를 거치면 코드가 처음 의도와는 다르게 진화하는 일이 흔히 발생한다. (… 생략) 새로운 요구사항을 반영하기 위해 코드를 산발적이고 국소적으로 변경하면서 생기는 수많은 조건문들은 결국 소프트웨어 유지 보수를 어렵게 한다. 복잡한 코드는 이해하기가 어려우므로 테스트하기 어렵고 결함 발생 가능성이 높으며 유지보수나 확장이 쉽지 않다. 즉, 품질 위험 요소가 높다고 할 수 ..
-
전기적 노이즈 시험 3가지 용어 정리신뢰성 2023. 4. 6. 10:50
■ 명칭 : EFT/Burst Immunity Test 1. 높은 피크 전압, 빠른 상승 시간, 높은 반복 속도 (단위시간 : ns)의 펄스 파형을 사용해 전기적 과도 방해를 주어, 내성을 시험하기 위한 것 (전원선 및 신호선 등 케이블을 통해 유입) 2. 과도 현상 : 주변에서 흔히 볼 수 있는 AC 전원 코드를 꽂거나, 장비를 끄거나, 회로 차단기 개폐 등의 상황에서 발생하는 현상 3. 규격시험, CE인증 ■ 명칭 : Surge Test 1.높은 피크 전압, 빠른 상승 시간, 펄스 파형을 사용해 스위칭, 낙뢰와 같은 순간 과전압 유입 현상을 주어, 내성을 시험하기 위한 것 2. Surge : AC 전압이 평상시 공급 전압 범위보다 5~6% 정도 상승한 상태를 말하며, 싸인 파형으로 표현되고 8사이클 ..