nGrinder 소개 + 고급 사용법
- 아키텍쳐
- 자이선 / 그루비 스크립트 동작 방식
- DB 테스트
- 로그 레벨 조작 방법
- 리소스 처리 방법
- 라이브러리 처리 방법
- 대규모 응답 처리 방법
- 가중치 부여 방법
- 쓰레드별 다른 처리 방법
- XML / JSON 처리 방법
Embedded C에서 TDD를 실천하기 위해 시도했던 경험과 방법을 기록해 보았습니다.
HW로부터 생기는 버그인지 SW로부터 생기는 버그인지 짐작조차 되지 않는 상황이 자주 발생한다면, TDD를 시작해보세요.
이 자료에서는 호스트 시스템(PC)에서 TDD를 실천하는 방법과 타깃 시스템(nRF51-DK)에서 TDD를 실천하는 방법을 기록하였습니다.
또한, nRF51-DK가 아닌 다른 보드를 가지고 있더라도 실천 가능합니다.
ktim610@gmail.com
nGrinder 소개 + 고급 사용법
- 아키텍쳐
- 자이선 / 그루비 스크립트 동작 방식
- DB 테스트
- 로그 레벨 조작 방법
- 리소스 처리 방법
- 라이브러리 처리 방법
- 대규모 응답 처리 방법
- 가중치 부여 방법
- 쓰레드별 다른 처리 방법
- XML / JSON 처리 방법
Embedded C에서 TDD를 실천하기 위해 시도했던 경험과 방법을 기록해 보았습니다.
HW로부터 생기는 버그인지 SW로부터 생기는 버그인지 짐작조차 되지 않는 상황이 자주 발생한다면, TDD를 시작해보세요.
이 자료에서는 호스트 시스템(PC)에서 TDD를 실천하는 방법과 타깃 시스템(nRF51-DK)에서 TDD를 실천하는 방법을 기록하였습니다.
또한, nRF51-DK가 아닌 다른 보드를 가지고 있더라도 실천 가능합니다.
ktim610@gmail.com
개발은 혼자 할 수 있을까? 혹은 개발자들끼리 할 수 있을까? 저는 아니라고 생각합니다. 개발은 개발에 관여된 모든 부서와 종사자들이 함께하는 겁니다. 개발자가 어떻게 하냐에 따라 SE와 QA 그리고 심지어 Sales 까지 하나의 팀으로 공동의 목표를 쫓아 시너지를 낼 수 있습니다. 저는 그렇게 믿습니다.
[IoT] MAKE with Open H/W + Node.JS - 3rdPark Jonggun
IoT 시대에 Opensource H/W 와 NodeJS 를 이용하여 누구나 나만의 H/W + S/W + Service 를 만들기 위한 교육 과정을 만들어 보았습니다.
상상했던 아이디어를 Raspberry Pi 기반으로 나만의 IoT 제품을 현실로 만들어 보세요.
Lesson 1 - Introduction : IoT개요, Opensource H/W, 라즈베리파이 기초
Lesson 2 - Linux : Raspberry Pi 에서 리눅스 활용하기
Lesson 3 - Node.JS : Raspberry Pi 에서 Node.JS 로 프로그래밍 하기
Lesson 4 - Sensor : GPIO 를 Node.JS 로 동작시켜 센서 제어하기
Lesson 5 - Project : Raspberry Pi 로 스마트폰 + 무선 IoT 오디오 제작
챕터가 완성되는대로 추가적으로 공유하겠습니다.
Circulus Site - http://www.circul.us
Circulus Group - http://group.circul.us
초대용량의 3차원 BIM/AEC/GIS 자료를 웹에서 시각화하고 관리할 수 있는 오픈소스 프로젝트 mago3D(http://www.mago3d.com) 기술 워크샵 자료(한국어)입니다.
mago3D에 대한 개요, 설치, 파일 변환, 활용 방법 등에 대해 설명하고 있습니다. 스스로 따라해 보면서 실습할 수 있도록 구성했습니다. mago3D에 관심 있는 분들은 참고하시기 바랍니다.
감사합니다.
상업적 이용 및 출처없는 무단전재를 금합니다.
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일의 스크럼, XP에 대한 기본적인 소개와 스크럼 팀 안에서 테스트 역할자로써 사용자 스토리 리뷰, 테스트 설계, 짝 테스트, 테스트 자동화 등에 대한 내용을 사례 기반으로 소개하고 있습니다.
3. 1. BDD ?
3
TDD와 유사. 집중하는 대상의 차이.
테스트 주도 개발(Test Driven Development)
* 메소드에 중점을 두고 진행
행위 주도 개발(Behavior Driven Development)
* 비즈니스 로직에 중점을 두고 진행
TDD & BDD:
* 코드 작성전에 테스트를 먼저 작성
* “Red – Green – Refactor” Cycle
* Acceptance test: spec 이 만족되었는지 확인하는 테스트
비즈니스 로직을 기준으로 테스
팅이 진행되므로, 프로젝트에 관
련된 모두(stakeholders)가 참여
하는게 바람직
4. 1. BDD ?
4
TDD 과정:
# the test
describe "User", ->
it "성과 이름을 제공합니다", ->
user = new User
1. RED: fail 테스트 작성 후 테스트에서 fail 을 확인.
#the code
class User
2. Green: 테스트를 통과하는 최소의 코드 작성.
3. Refactor:
코드 정리 후 1번으로 돌아가 다음 기능 테스트 작성
# the test
describe "User", ->
it "성과 이름을 제공합니다", ->
user = new User
user.setFullName "seulgi choi"
#the code
class User
setFullName: (fullName) ->
5. 1. BDD ?
5
비즈니스 로직을 기준으로 TDD 를 수행한다.
특정 메소드가 아닌 특정 기능이 어떻게 동작하는지 테스트
6. 2. BDD 테스팅 도구(JS)
6
1. Mocha
2. Jasmine
공통점:
테스트 작성 구조
차이점:
assertion, mocking 등 사용 시 외부 library 필요 여부
Mocha:
“chai” library
to.be
to.equal
should.be
….
Jasmine:
toBe
toEqual
….
Mocha:
“sinon” library
sinon.spy
sinon.stub
Jasmine:
spyOn
describe(“대상”,
it(“무엇을 하는지“,
expect() // 무슨 결과를 예상하는지
)
)
7. 3. 도입 예제
7
Jasmine 은 로컬에서 결과를 확인할 수 있다.
1. Jasmine 다운로드
3. 결과를 페이지에 보여주는 것을 도와줄 파일 로드
4. 테스트 대상 코드 및 테스트 코드를 로드
2. 테스트/코드 작성 cycle
8. 3. 도입 예제
8
Jasmine 은 로컬에서 결과를 확인할 수 있다.
1. Jasmine 다운로드
2. 테스트/코드 작성 cycle
RED
테스트를 통과할 최소의 코드 작성TWMap.test.js
11. 4. Karma(test runner) 연동
11
테스트 코드를 실행시키는데 도움을 주는 툴
1. Karma 설치
2. config 에 테스트를 위한 코드 및 브라우저 정보 입력
Node.js 에서 실행되기 때문에 node.js 를 먼저 다운/설치 후 다음 명령어를 통해 Karma 설치를 진행한다
# Install Karma: Karma 설치
$ npm install karma –save-dev
# Install plugins that your project needs: 프로젝트에 필요한 플러그인 설치(Jasmine, Chrome launcher 등)
$ npm install karma-jasmine karma-chrome-launcher jasmine-core --save-dev
# windows 에서 nodejs prompt 로 실행 시 에러나므로, 다음 명령어를 통해 karma-cli 설치가 필요함
$ npm install -g karma-cli
# karma.conf.js 생성. 대화형으로 config 설정을 진행할 수 있음
$ karma init
12. 4. Karma(test runner) 연동
12
2. config 에 테스트를 위한 코드 및 브라우저 정보 입력
실행할 코드 목록(html load 순서)
테스트 시 실행할 브라우저 목록