Introduction to Junit, Eclipse, Build Environment

Similar documents
PowerPoint 프레젠테이션

SW Verification

슬라이드 1

PowerPoint Presentation

Ver 1.0 마감하루전 Category Partitioning Testing Tool Project Team T1 Date Team Information 김강욱 김진욱 김동권

PowerPoint Presentation

Software Verification 1 st Testing System Test Team 고예은 김수현 김아름 1

PowerPoint 프레젠테이션

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Contents Activity Define Real s Activity Define Reports UI, and Storyboards Activity Refine System Architecture Activity Defin

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

PowerPoint Presentation

서현수

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

Microsoft PowerPoint - 14주차 강의자료

PowerPoint 프레젠테이션

UML

Cluster management software

슬라이드 1

Contents. 1. PMD ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 2. Metrics ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 3. FindBugs ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ 4. ㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍㆍ

gnu-lee-oop-kor-lec10-1-chap10

PowerPoint Presentation

JAVA PROGRAMMING 실습 09. 예외처리

PowerPoint Presentation

Microsoft PowerPoint - CSharp-10-예외처리

슬라이드 1

Contents. Phase Revise Plan --- Phase Synchronize Artifacts --- Phase 2130 Analyze Activity2131. Define Essential Use Cases --- Activity21


Ver. DS-2012.T3.DWS.STR-1.0 System Test Report for Digital Watch System Test Cases Specification Test Summary Report Project Team 이동아 Latest update on

ch09

C# Programming Guide - Types

THE TITLE

<FEFF E002D B E E FC816B CBDFC1B558B202E6559E830EB C28D9>

OSP Stage 2040 <Plan & Elaboration> 유아를위한주제별영어학습놀이프로그램 T 김도희 박수민 + 김태현 1

PowerPoint 프레젠테이션

PowerPoint Presentation

PowerPoint 프레젠테이션

C++ Programming

슬라이드 1

오버라이딩 (Overriding)

JUNIT 실습및발표

BOX

PowerPoint 프레젠테이션

JAVA PROGRAMMING 실습 02. 표준 입출력

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

JAVA PROGRAMMING 실습 08.다형성

01-OOPConcepts(2).PDF

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345])

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

텀블러514

第 1 節 組 織 11 第 1 章 檢 察 의 組 織 人 事 制 度 등 第 1 項 大 檢 察 廳 第 1 節 組 대검찰청은 대법원에 대응하여 수도인 서울에 위치 한다(검찰청법 제2조,제3조,대검찰청의 위치와 각급 검찰청의명칭및위치에관한규정 제2조). 대검찰청에 검찰총장,대

MVVM 패턴의 이해

Java ...

슬라이드 1

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

Microsoft PowerPoint - 06-Chapter09-Event.ppt

PowerPoint Presentation

Microsoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx

쿠폰형_상품소개서

KNK_C_05_Pointers_Arrays_structures_summary_v02

Microsoft PowerPoint - lec2.ppt

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

02 C h a p t e r Java

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

10장.key

Contents Contents 2 1 Abstract 3 2 Infer Checkers Eradicate Infer....

JVM 메모리구조

17장 클래스와 메소드

Microsoft PowerPoint - 2강

유니티 변수-함수.key

PowerPoint Presentation

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Microsoft PowerPoint - C++ 5 .pptx

JAVA PROGRAMMING 실습 02. 표준 입출력

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

PowerPoint 프레젠테이션

Index

<BACFC7D1B3F3BEF7B5BFC7E22D3133B1C733C8A BFEB2E687770>


쉽게

슬라이드 1

The C++ Programming Language 5 장포인터, 배열, 구조체 5.9 연습문제 다음의선언문을순서대로작성해보자. 문자에대한포인터, 10개정수의배열, 10개정수의배열의참조자, 문자열의배열에대한포인터, 문자에대한포인터에대한포인터, 상수정수, 상수

PowerPoint 프레젠테이션

PowerPoint Template

[ 정보 ] 과학고 R&E 결과보고서 Monte Carlo Method 를이용한 고교배정시뮬레이션 연구기간 : ~ 연구책임자 : 강대욱 ( 전남대전자컴퓨터공학부 ) 지도교사 : 최미경 ( 전남과학고정보 컴퓨터과 ) 참여학생 : 박진명 ( 전

제8장 자바 GUI 프로그래밍 II

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

2 PX-8000과 RM-8000/LM-8000등의 관련 제품은 시스템의 간편한 설치와 쉬운 운영에 대한 고급 기술을 제공합니다. 또한 뛰어난 확장성으로 사용자가 요구하는 시스템을 손쉽게 구현할 수 있습니다. 메인컨트롤러인 PX-8000의 BGM입력소스를 8개의 로컬지

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

PowerPoint Presentation

고객 카드

Design Issues


class Sale void makelineitem(productspecification* spec, int qty) SalesLineItem* sl = new SalesLineItem(spec, qty); ; 2. 아래의액티비티다이어그램을보고 Java 또는 C ++,

ThisJava ..

Install stm32cubemx and st-link utility

Transcription:

Software Verification 2nd Testing 200611494 원스타 200810047 김성원 200811466 허태경

Index 1. Specification Review 2. Brute Force Testing 3. Category-Partition Testing 4. Pairwise Testing 5. Static Analysis 1. CheckStyle 2. FindBugs 3. PMD 4. Jdepend 5. Junit

1. Specification Review

1. Specification Review Issues Mantis 를통한이슈공유

1. Specification Review Usecase 처음으로 : Cross Reference 에 R3.1 ( 점수확인 ) 이빠짐. UI 목업과구현상에서는점수확인화면에서도처음으로돌아갈수있으나, " 처음으로 " Use Case 에서는빠짐.

1. Specification Review Usecase 점수확인 : Cross Reference 에 R1.10 ( 처음으로 ) 이빠짐. UI 목업과구현상에서는점수확인화면에서도처음으로돌아갈수있으나, " 점수확인 " Use Case 에서는빠짐.

1. Specification Review Implementation 초기화 : Exceptional 동작이실제와불일치 DB 연동실패시도어플리케이션이실행됨. 단계선택에서멈춤 이상태에서프로그램동작멈춤

1. Specification Review Implementation 메뉴선택, 단계선택 : Typical Courses of Events 불일치 구현에서는메뉴네비게이션에키보드가동작하지않음.

1. Specification Review etc 동작

1. Specification Review Class Diagram Controller 문서 구현 문서 구현 menu_num int menu_num int sel_level int sel_level int sel_char String sel_char String sound_vol int sound_vol int score int score int db DBConnect db DBConnect fi FindInitial fi FindInitial pp PronunPrac pp PronunPrac sp SpellPrac wd_info WordInfo wd WordInfo key int key int question_count int question_count int input_count int input_word String input_key String wordflag bool timelistener ActionTime gui GUI speakers LinkedList<Line> time Timer wordtick int selectmenu() selectlevel() createkey() requestwrodinfo(int key) setwordinfo(wordinfo wd_info) setvolume() Word 로추정 Controller() selectmenu(int) selectlevel(int) createkey() setvolume(float) selectchar(string) actionperformed(actionevent) inputword() keypressed(keyevent) keyreleased(keyevent) keytyped(keyevent) limit(floatcontrol, float) outputsound() outputsound(boolean) starttimer()

1. Specification Review Class Diagram Controller GUI와 DB연동을위한사소한변경점 outputsound() method의경우핵심기능이므로문서갱신필요 Sp, requestwrodinfo(), setwordinfo() 누락 setvolume() 의매개변수변경

1. Specification Review Class Diagram Menu 구현상존재하지않음 VoiceRecog 구현상존재하지않음

1. Specification Review Class Diagram FindInitial Methods 문서 구현 selectchar() createkey(string, int) FindInitial 변경되었으나변경점불명

1. Specification Review Class Diagram WordInfo Fields 문서구현 Method 문서구현 key int key int getword() word String word String getimg() img Image getpronun() pronun DataLine phonics String phonics String def String img_path String sound_path String setkey() WordInfo Property 접근 Method들이없어짐 Image, DataLine 등을직접저장하지않고 path String만저장

1. Specification Review Sequence Diagram Critical: DB Connection Failed 에관한코드가 Controller 로돌아오지않고 DBConnect 클래스내부에서처리됨. (1-4, 1-5, 1-6) 나머지 Sequence Diagram 은 Class 구현과의차이가심해비교불가

2. Brute Force Test

2. Brute Force Test NO. Test Case Pass 비고 1 볼륨조절패널입력 T 2 볼륨조절 25패널입력 F 25/50/75/100 사운드크기의차이없음 3 볼륨조절 50패널입력 F 25/50/75/100 사운드크기의차이없음 4 볼륨조절 75패널입력 F 25/50/75/100 사운드크기의차이없음 5 볼륨조절 100패널입력 F 25/50/75/100 사운드크기의차이없음 6 볼륨조절 HOME패널입력 T 7 초성놀이패널입력 T 8 초성놀이 1번패널입력 T 초성놀이패널이동시이동이전패널한글해석출력 9 초성놀이 2번패널입력 T 초성놀이패널이동시이동이전패널한글해석출력 10 초성놀이 3번패널입력 T 초성놀이패널이동시이동이전패널한글해석출력 11 초성놀이 HOME 패널입력 T 12 초성놀이 1번알파벳 a부터z까지입력 T 13 초성놀이 2번알파벳 a부터z까지입력 T 14 초성놀이 3번알파벳 a부터z까지입력 T 15 초성놀이 1번다시듣기패널입력 T 다시듣기초기화되지않음

2. Brute Force Test NO. Test Case Pass 비고 16 초성놀이 2번다시듣기패널입력 T 다시듣기초기화되지않음 17 초성놀이 3번다시듣기패널입력 T 다시듣기초기화되지않음 18 초성놀이 1번 HOME 패널입력 T 19 초성놀이 2번 HOME 패널입력 T 20 초성놀이 3번 HOME 패널입력 T 21 단어놀이패널입력 T 22 단어놀이 1번패널입력 T 23 단어놀이 2번패널입력 T 24 단어놀이 3번패널입력 T 25 단어놀이 HOME 패널입력 T 26 단어놀이 1번정답보기패널입력 T 27 단어놀이 2번정답보기패널입력 T 28 단어놀이 3번정답보기패널입력 T 29 단어놀이 1번 HOME패널입력 T 30 단어놀이 2번 HOME패널입력 T

2. Brute Force Test NO. Test Case Pass 비고 31 단어놀이 3번 HOME패널입력 T 32 단어놀이 1번알파벳 A부터Z까지입력 T 33 단어놀이 2번알파벳 A부터Z까지입력 T 34 단어놀이 3번알파벳 A부터Z까지입력 T 35 단어놀이 1번점수화면출력 F 36 단어놀이 1번문제음성출력 T 37 단어놀이 2번점수화면출력 F 38 단어놀이 2번문제음성출력 T 39 단어놀이 3번점수화면출력 F 40 단어놀이 3번문제음성출력 T 41 발음놀이패널입력 T 처음프로그램기동시 10 문제풀이에대해서만점수출력그이후로는점수출력없음 처음프로그램기동시 10 문제풀이에대해서만점수출력그이후로는점수출력없음 처음프로그램기동시 10 문제풀이에대해서만점수출력그이후로는점수출력없음 42 발음놀이 1번패널입력 T 43 발음놀이 2번패널입력 T 44 발음놀이 3번패널입력 T 45 발음놀이 HOME 패널입력 T

2. Brute Force Test NO. Test Case Pass 비고 46 발음놀이 1번 HOME 패널입력 T 47 발음놀이 2번 HOME 패널입력 T 48 발음놀이 3번 HOME 패널입력 T 49 발음놀이 1번다시듣기패널입력 T 50 발음놀이 2번다시듣기패널입력 T 51 발음놀이 3번다시듣기패널입력 T 52 발음놀이 1번음성인식 F 무반응 53 발음놀이 2번음성인식 F 무반응 54 발음놀이 3번음성인식 F 무반응 55 발음놀이 1번결과창 F 음성인식불가로인한테스트불가 56 발음놀이 2번결과창 F 음성인식불가로인한테스트불가 57 발음놀이 3번결과창 F 음성인식불가로인한테스트불가 볼륨제어에대한방식변경으로인한 Test Case 증가 44/58 Pass

3. Category Partition Test

3. Category Partition Test 240 개의 Test Case 볼륨제어에대한방식변경으로인한 Test Case 증가 27/240 Pass

3. Category Partition Test 볼륨설정 버튼으로조절 25% 누르고홈으로간다 [property SET_VOL] [if SELECT_VOL] 50% 누르고홈으로간다 [property SET_VOL] [if SELECT_VOL] 75% 누르고홈으로간다 [property SET_VOL] [if SELECT_VOL] 100% 누르고홈으로간다 [property SET_VOL] [if SELECT_VOL] 기존 - 마우스또는키보드로조정변경 해당버튼을통해볼륨조정

3. Category Partition Test Jfeature 등록

4. Pairwise Test

4. Pairwise Test 총 33 개의 Test Case 볼륨제어방식변경으로인한 Test Case 변경 26/33 Pass

5. Static Analysis

5. Static Analysis CheckStyle Indentation 을수정한 Google Style 검사총 819 건

5. Static Analysis CheckStyle LineLengthCheck 한라인너무긴경우가있음적당히내려쓰는것이좋음 IndentationCheck Tab(8 칸 ) 으로이루어진 depth 가안맞는경우가있음 PackageNameCheck 패키지경로에대문자가들어감 VariableDeclarationUsageDistanceCheck 선언과사용의거리가너무멀음

5. Static Analysis CheckStyle WhitespaceAroundCheck, LeftCurlyCheck,RightCurlyCheck 매개변수및기타공백을넣지않아도되는곳에넣어서생기는문제블록의시작을나타내는 { 을내려써서생기는문제 AvoidStarImportCheck import package.* 에서 * 를사용하지말라고경고 MemberNameCheck _ 사용이나접두어로 2 자미만으로소문자사용 그외다수사소한문제들이검출됨 코딩스타일에따라취향이갈릴수있으므로가독성을고려하여판단 현재스타일에맞는 Rule 정의필요.

5. Static Analysis FindBugs 총 37 건, 중요함 27 건

5. Static Analysis FindBugs ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD Static으로선언된 DB, GUI 개체를 instance에서초기화 Singletone기법을사용하여전역객체관리하면좋을듯 DM_DEFAULT_ENCODING 기본인코딩을통해서 byte[] 입력을 String 으로전환 SF_SWITCH_NO_DEFAULT Switch문에서 default경우누락경우에따라무시해도될듯

5. Static Analysis FindBugs REC_CATCH_EXCEPTION Exception 개체로만예외처리 IOException 등으로예외를한정하면될듯 DLS_DEAD_LOCAL_STORE Instance 를생성했으나사용하지않음 생성하지말고선언만남기면될듯 SBSC_USE_STRINGBUFFER_CONCATENATION String 객체통해문자열확장 ex) buffer:string += apendlist[n]:string 구조상 String 은 + 연산시매번새로배열을선언하기때문에 StringBuilder 를이용하여 append 하는것이속도와메모리관리에더효과적임

5. Static Analysis PMD 총 60 건 20 건의 Method 작명규칙경고는 _ 때문에생긴것

5. Static Analysis PMD MethodNamingConventions GUI 에서 Event Listener 를추가하는 Method 이름이 addaction_<button> 과같은형태라생기는문제 _ 를제거하거나경우에해당하는모든 Method 이름에대해저렇게붙인다면묵인가능 NoPackage 시스템을구성하는 class 들이 default package 에속해있음 Default Package 를사용하는것은 Namespace 관리에바람직하지않기에리펙토링바람

5. Static Analysis PMD UnusedFormalParameter 쓰이지않는매개변수들미구현또는 Event Delegate로인한형태 UnusedImports, UnusedPrivateField 쓰지않는 Package와내부필드마찬가지로정리가필요한부분 UseStringBufferForStringAppends FindBugs 에서나타난경고와마찬가지로 StringBuilder 권유

5. Static Analysis PMD UnnecessaryCaseChange 문자열비교시 UpperCase/LowerCase 사용후비교 equalsignorecase 매소드를쓰면더빠름 PackageCase Package 이름에대문자가있다. 일반적으로대문자를적지않는다. ExcessivePublicCount, ExcessiveClassLength GUI Class 가너무크다. 리모델링권고

5. Static Analysis PMD AvoidPrintStackTrace e. printstacktrace 를통한디버깅은무책임하다. 좀더나은디버깅을위해개선할수도있다.

5. Static Analysis JDepend Default Package 는 8 개의구현된 Class 와 15 개의 Package 에종속 View Package 는 48 개의구현된 Class 와 7 개의 Package 종속, 1 개의 Package 가종속하고있다. 100% 에가까운구현과프로그램수행에직접연관.

5. Static Analysis Junit 없어서못함.

Thank you