달력

12

« 2019/12 »

  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  



 

 

테스트 러너(Test Runner)

·         JUnit프레임 워크에서 테스트 클래스 내에 존재하는 각각의 테스트 메소드 실행을 담당하고 있는 클래스입니다.

·         테스트 러너는 테스트 클래스의 구조에 맞게 테스트 메소드들을 실행하고 결과를 표시하는 역할을 합니다.

·         테스트 케이스를 이클립스에서 실행하면 내부적으로 Junit BlockJUnit4ClassRunner라는 테스트 러너 클래스가 실행되고 이클립스는 결과를 해석해서 개발자에게 화면으로 보여줍니다.

 

 


 

 

 

기본 테스트러너

특정 테스트러너를 사용하려면 @RunWith를 사용하여 지정

@RunWith(value=org.junit.internal.runners.JUnit4.class)

public class TestWithJUnit4 extends junit.framework.TestCase {

//

//

//

}

 

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

 

Dog-Fooding(도그푸딩)

·         소프트웨어를 일정기간동안 개발을 하고 출시 한달 , 일주일 전, 하루 전에 미리 해당 소프트웨어를 유관부서나 회사전체, 외부의 특정 사용자들에게 먼저 소프트웨어를 테스트 있게 하여 확인된 버그를 미리 수정한 출시하는 방식을 의미합니다.

·         애완견 사료 제조업체인 마스(Mars) 경영진이 자신들이 생산하는 사료를 직접 먹어서 테슽한 것에서 비롯되었습니다.

  

https://en.wikipedia.org/wiki/Eating_your_own_dog_food

 

 

 


http://bit.ly/2vv2vAH

 




Posted by codedragon codedragon

댓글을 달아 주세요


 

 

whitespace(화이트스페이스)

whitespace character 화이트스페이스 문자

공백형태로 문자형태를 의미합니다.

 

·       line feeds (줄바꿈)

·       carriage returns (줄바꿈)

·       tabs ( 문자)

·       spaces (스페이스 문자)

 

https://en.wikipedia.org/wiki/Whitespace_(programming_language)

http://bit.ly/2NsPKOM

http://bit.ly/2tXpF29

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

 

조건 테스팅(Condition Testing)

·         조건 커버리지(Condition Coverage)

·         조건 커버리지는 결정 포인트 내에 있는 개개의 개별 조건식이 "" "거짓" 모든 값을 갖게 되면 달성된다.

·         다중 조건 커버리지는 결정 포인트 내에 있는 모든 개별 조건식의 모든 가능한 논리적인 조합을 고려한 강력한 커버리지를 의미한다.

·         조건문 내의 연산식(Boolean Expression) (True) · 거짓(False) 적어도 이상 실행되는 것을 기준으로 하는 커버리지입니다.

·         복합 결과 값의 경우, 대부분 조건 커버리지 방식을 사용하여 작성합니다.

·         구문 커버리지를 포함해야 바람직한 조건 커버리지가 됩니다.

 




'Security > SecureCoding' 카테고리의 다른 글

Dog-Fooding(도그푸딩)  (0) 2019.07.20
whitespace(화이트스페이스)  (0) 2019.07.12
조건 테스팅(Condition Testing)  (0) 2019.07.06
테스트 프레임워크를 통한 테스트 방법  (0) 2019.06.26
바인딩(Binding)  (0) 2019.06.20
인수 테스트(Acceptance Test)  (0) 2019.06.12
Posted by codedragon codedragon

댓글을 달아 주세요


 

 

 

테스트 프레임워크를 통한 테스트 방법

try/catch 각각 작성할 필요 없이, 프레임워크 활용하여 테스트를 수행합니다.

 

구분

단계

1

JUnit Library 추가하기

2

@Test Annotation 사용하여 테스트 코드 작성

3

assertEquals() 사용하여 결과 확인

4

코드 간결, 오류 가능성이 낮음

5

테스트 프레임워크 안에 Exception 모두 구현되어 있음

 

 

 

덧셈을 위한 함수 코드를 가진 클래스

public class TestEx02 {

 

// 덧셈을 위한 소스 코드

public static int plus(int a, int b) {

return a + b;

}

 

 

}

 

 

 

 

JUnit 프레임워크를 사용하여 덧셈을 위한 소스 코드의 메서드를 테스트하는 테스트케이스 생성

import static org.junit.Assert.*;

 

import org.junit.Test;

 

//자동으로 생성된 테스트 클래스입니다.

//테스트 메소드를 구현하기 위한 클래스가 생성됩니다.

public class TestEx02Test {

 

// 테스트하고자 하는 메소드의 내용 구현하기

@Test

public void testPlus() {

 

int result;

result = TestEx02.plus(10,20);

assertEquals(30, result, 0);

result = TestEx02.plus(20,30);

assertEquals(50, result, 0);

}

 

}

 

테스트 프레임워크를 활용하면 쉽고 빠르게 테스트 코드 생성할 있습니다.

 

 

 

 



'Security > SecureCoding' 카테고리의 다른 글

whitespace(화이트스페이스)  (0) 2019.07.12
조건 테스팅(Condition Testing)  (0) 2019.07.06
테스트 프레임워크를 통한 테스트 방법  (0) 2019.06.26
바인딩(Binding)  (0) 2019.06.20
인수 테스트(Acceptance Test)  (0) 2019.06.12
회귀 테스트(Regression test)  (0) 2019.06.03
Posted by codedragon codedragon

댓글을 달아 주세요


 

 

바인딩(Binding)

·       바인딩(Binding)이란 일반적으로 어떤 대상과 묶이는 의미합니다.

·       변수와 변수에 관련된 속성을 연결하는 과정 의미합니다.

·       프로그램에 사용된 구성 요소의 실제 (value) 또는 프로퍼티(property) 연결짓는 행위를 의미합니다.

 

 

https://bit.ly/2W5Ng0H

https://bit.ly/2QssiTv

 


'Security > SecureCoding' 카테고리의 다른 글

조건 테스팅(Condition Testing)  (0) 2019.07.06
테스트 프레임워크를 통한 테스트 방법  (0) 2019.06.26
바인딩(Binding)  (0) 2019.06.20
인수 테스트(Acceptance Test)  (0) 2019.06.12
회귀 테스트(Regression test)  (0) 2019.06.03
이슈트래커(Issue Tracker)  (0) 2019.05.23
Posted by codedragon codedragon

댓글을 달아 주세요


 

 

인수 테스트(Acceptance Test)

·         시스템 테스트가 완료되고 나면 소프트웨어를 사용자 또는 고객에게 전달하여 인수 테스트 진행합니다.

·         사용자나 고객이 테스트하는 것이 일반적입니다.

·         소프트웨어의 Validation 초점을 맞추고 있습니다.

·         고객의 요구사항에 맞게 소프트웨어가 개발되었는지 고객이 직접 검증 진행하는 테스트입니다.

 

 

http://bit.ly/2IvDyxD

https://en.wikipedia.org/wiki/Acceptance_testing

http://softwaretestingfundamentals.com/acceptance-testing/

 

 

 

인수 테스트의 주요 테스트 항목

·         전체 시스템의 비즈니스 프로세스

·         시스템의 운영 유지보수

·         시스템의 사용 절차 방법

·         설정 데이터

·         보고서

 


'Security > SecureCoding' 카테고리의 다른 글

테스트 프레임워크를 통한 테스트 방법  (0) 2019.06.26
바인딩(Binding)  (0) 2019.06.20
인수 테스트(Acceptance Test)  (0) 2019.06.12
회귀 테스트(Regression test)  (0) 2019.06.03
이슈트래커(Issue Tracker)  (0) 2019.05.23
테스팅(Testing)의 개념  (0) 2019.05.16
Posted by codedragon codedragon

댓글을 달아 주세요


 

 

회귀 테스트(Regression test)

·       결함 수정 수정된 프로그램뿐만 아니라 관련된 프로그램도 함께 테스트하는 방법입니다.

·       결함 수정 과정에서 다른 프로그램에 영향을 미치는 부분이 있을 수도 있다는 전제하에 테스트를 진행합니다.

·       코드 변경 의도하지 않은 부작용(Side Effect) 여부를 검사합니다.

·       회귀 버그 프로그램 변경 뜻하지 않게 발생하거나 이전에 제대로 작동하던 소프트웨어 기능에 문제가 생기는 것을 가리키며, 회귀 버그를 찾는 모든 소프트웨어 테스트 방식은 회귀 테스트라고 있습니다.

·       소프트웨어에 적용되는 어떠한 수정에서도 의도치 않은 부작용 발생할 가능성이 있습니다.

·       소프트웨어 변경 , 정상 동작하는지 회귀 테스트를 통해 체크합니다.

·       부작용은 수정한 코드와 직접적으로 관련 있는 기능 뿐만 아니라, 외의 다른 기능에서도 발생 가능합니다.

·       회귀 테스트 수행 이전의 실행 테스트를 실행하며 이전에 고쳐졌던 오류가 재현되는지 검사하는 방법이 많이 사용됩니다.

 

 

https://bit.ly/30SrIUc

http://bit.ly/2PwCl9N

https://en.wikipedia.org/wiki/Regression_testing

 

 



'Security > SecureCoding' 카테고리의 다른 글

바인딩(Binding)  (0) 2019.06.20
인수 테스트(Acceptance Test)  (0) 2019.06.12
회귀 테스트(Regression test)  (0) 2019.06.03
이슈트래커(Issue Tracker)  (0) 2019.05.23
테스팅(Testing)의 개념  (0) 2019.05.16
EASYMOCK - 테스팅 프레임워크  (0) 2019.04.30
Posted by codedragon codedragon

댓글을 달아 주세요


 

 

이슈트래커(Issue Tracker)

·         이슈 트래킹 시스템 (Issue Tracking system)

·         버그 추적시스템; 버그 트래킹 시스템(BTS; Bug Track System)

·         이슈 관리 (Issue Mangement Tool)

·         오류 추적 오류 관리

·         이슈 발견, 리포트, 이슈 내용 재현 경로 설명, 상세 분석, 이슈 분류, 담당자

·         지정, 진행 상태 변경 여러 과정을 거치며 이슈의 추적 효과적으로 있도록 해줍니다.

·         주로 소프트웨어 개발 업계에서 사용하는 도구입니다.

·         이슈들을 하나의 항목(티켓)으로 만들어 관리 합니다.

·         기능 추가 또는 버그 관리부터 프로젝트 관리까지 프로젝트 전반에 대한 다양한 기능을 제공합니다.

·         보통 사용하기 용이한 기반의 인터페이스를 제공합니다.

 

 

https://bit.ly/2UdkJBc

https://bit.ly/2ViWBgS

 

 


Posted by codedragon codedragon

댓글을 달아 주세요


 

 

테스팅(Testing) 개념

·       일반 개념

·       전통적인 테스트 개념과 현재의 테스트 개념

 

 

 

일반 개념

·       테스팅은 일반적으로 작업이 끝난 , 처음에 요구된 것과 현재 상태의 차이를 발견하기 위해 수행하는 활동입니다.

·       , 제품이 만들어지고 요구된 기능들이 제대로 작동하는지를 확인하는 활동도 테스팅의 일종이라고 있습니다.

 

 

 

 

 

 

전통적인 테스트 개념과 현재의 테스트 개념

구분

설명

소프트웨어 테스팅

소프트웨어 테스팅은 응용 프로그램 또는 구성요소를 포함한 시스템의 동작과 성능, 안정성이 사용자가 요구하는 수준을 만족하는지 확인하기 위해 결함을 발견하는 메커니즘입니다.

전통적인 테스트 개념

전통적인 테스트 개념은 응용 프로그램 또는 시스템의 정상 작동 여부 확인하는 것입니다.

현대적인 테스트 개념

현재의 테스팅은 사용자의 기대수준과 요구사항에 맞게 구현되고 동작하는지를 확인하고, 이를 통해 결함을 발견하여, 최종적으로는 결함 데이터를 근간으로 개발 프로젝트의 리스크 정보를 정량적 수치로 의사결정권자(프로젝트 관리자 )에게 전달하는 것입니다.

결함 예방 활동

개발 프로젝트 초기에 개발 산출물을 테스트 관점에서 리뷰하고, 테스트 케이스를 만드는 과정에서 결함을 발견하는 작업(결함 예방 활동) 테스팅 활동의 중요한 부분으로 인식되고 있습니다.

 

 


Posted by codedragon codedragon

댓글을 달아 주세요