'테스트'에 해당되는 글 2건

  1. 2012.12.05 IE9 에서 IE8 테스트하기
  2. 2009.03.18 [UnitTest] SameTest
Test/Web2012.12.05 15:47

IE9으로 개발하고 있는데 IE8 에서만 안 되는 현상이 발견될 경우 테스트하기가 난감하다.


IETester 등 테스트를 할 수 있는 여러가지 툴로 테스트해 봐도 정상 동작한다.

하지만 실제 IE8에서는 정상 동작하지 않는다.

IE9 개발자도구 안에 IE8를 테스트할 수 있는 기능이 있어서 정리한다.


테스트하려는 webpage 에서 F12키를 누른다. 그럼 아래와 같은 개발자 도구가 나온다.

여기서 빨간색으로 표시해 놓은 '브라우저 모드'를 클릭하면 IE7, IE8 을 선택할 수 있다.

선택한 버전으로 webpage가 다시 로딩되며 테스트 가능합니다.



신고
Posted by 초프(초보 프로그래머)
TAG IE8, IE9, 테스트
Project2009.03.18 14:40

 테스팅도구인 UnitTest 그중에서 PHP에서 쓰는 테스트툴들이 몇가지 있다. 이전 버전의 프레임워크를 만들때 만들어 두었던 유닛테스트.. 일명 SameTest ! PHPUnit 이랑 비슷할수도 있을듯...; 써본게 그거라;

아직 고급기능은 없고 단순한 비교기능만 있을뿐이다.

sameValue($mHope, $mValue) - 두값을 비교(데이터타입,값)
sameType($type, $mValue) - 데이터 타입을 비교
sameClass($sName,$oClass) - 인스턴스의 클래스이름 비교
sameInt($mValue), sameInteger($mValue) - 정수형인가
sameFloat($mValue), sameDouble($mValue) - 실수형인가
sameString($mValue) - 문자열인가
sameObject($mValue) - 오브젝트(인스턴스) 인가
sameBool($mValue), sameBoolean($mValue) - Boolean형인가
sameArray($mValue) - 배열인가
sameResource($mValue) - 리소스인가
sameNull($mValue) - NULL인가
sameTrue($mValue) - True 인가
sameFalse($mValue) - False 인가

테스트 소스는 다음과 같다.

<?
require_once "../setup/setup.php";
require_once _FW_UNITTEST_PATH_."/sametest.php";
require_once _FW_DATA_PATH_."/int.php";
require_once _FW_DATA_PATH_."/float.php";

class Test_data extends SameTest
{
 private $oInt;
 private $oFloat;

 function before()
 {
  $this->oInt = new Int();
  $this->oFloat = new Float();
 }

 function Test_int()
 {
  $this->sameValue($this->oInt->get(),0);

  $this->oInt->set(123);
  $this->sameValue($this->oInt->get(),123);

  $this->oInt->set(123.45);
  $this->sameValue($this->oInt->get(),123);
 }

 function Test_float()
 {
  $this->sameValue($this->oFloat->get(),0.0);

  $this->oFloat->set(123);
  $this->sameValue($this->oFloat->get(),123.0);

  $this->oFloat->set(123.45);
  $this->sameValue($this->oFloat->get(),123.45);

  $this->sameValue($this->oFloat->round(1),123.5);
  $this->sameValue($this->oFloat->round(0),123.0);
  $this->sameValue($this->oFloat->floor(),123.0);
 }

 function Test_etc()
 {
  $this->oInt->set("abc");
  $this->sameInt($this->oInt->get());
  $this->sameValue($this->oInt->get(),0);

  $this->oInt->set(array(1,2,3));
  $this->sameInt($this->oInt->get());
  $this->sameValue($this->oInt->get(),1);

  $this->oInt->set(true);
  $this->sameInt($this->oInt->get());
  $this->sameValue($this->oInt->get(),1);
  $this->oInt->set(false);
  $this->sameInt($this->oInt->get());
  $this->sameValue($this->oInt->get(),0);

  $this->oFloat->set("abc");
  $this->sameFloat($this->oFloat->get());
  $this->sameInt($this->oFloat->get());
  $this->sameValue($this->oFloat->get(),0.0);
 }
}

$oTest = new Test_data();
$oTest->startTest();

?>

테스트 결과이다.

`Test_` 로 시작하는 메소드들이 테스트된다. 각 메소드별로 성공,실패 여부가 나온다. 특히 한번에 알아보기 쉽도록 오류가 있는 메소드를 빨간색으로 표시하도록 했음.

before(), after() 메소드는 테스트가 시작전 시작후에 한번씩만 실행되는 함수이다. 여기서는 테스트가 먹히지 않는다.
beforeTest(), afterTest() 메소드는 테스트메소드가 실행되기전과 실행후에 실행되므로 실행횟수는 테스트메소드의 갯수와 같다. 그리고 테스트중에 echo를 사용하여 출력할 경우 제일 위에 흰색 배경에 나오지만... 보기에 별로라서... 버퍼를 이용해서 테스트 화면 안에 출력되게 하였다.
이게 before(), after(), beforeTest(), afterTest() 를 모두 사용한 테스트이다. 이네개 안에서 echo만 사용해서 문자열만 출력되게 하였다.

테스트화면은 웹표준을 적용해서 통과를 받은건데.... 그 당시에는... 현재는 잘 모르겠네요;;

다른 유닛테스트에는 어떤 기능이 있는지 모르겠고 또 필요한 테스트기능이 뭔지 몰라서 현재에 만족하고 있음;

또 다른 무엇이 필요할까~?

신고
Posted by 초프(초보 프로그래머)