기본 콘텐츠로 건너뛰기

STAREAST 참관기 - Build the Right Regression Suite with Behavior-Driven Testing

컨퍼런스 2일차 오후 첫번째 세션은 그 유명한 ThoughtWorks 사의 Anand Bagmar 라는 분이 발표한 'Build the Right Regression Suite with Behavior-Driven Testing'라는 세션을 들었습니다.

처음에 들어갈때는 ThoughtWorks 사의 발표인줄 몰랐다가 나중에 보니 ThoughtWorks 사의 발표더군요.. 웬지 모를 급 호감이...

사실 들을만한 세션이 없어서 반은 호기심으로 들어갔던 세션인데 생각보다 세션 내용이 매우 좋았습니다.

발표를 듣는 사람도 엄청 많아서 좌석이 모자라서 서서 드는 사람이 있을 정도였습니다. 웬지 모를 뜨거운 반응이었습니다. 제가 들었던 세션 중 그토록 뜨거웠던 반응을 보인 세션은 이 세션이 유일했습니다.

발표하시는 분이 인도분이라서 발음을 못알아들을까봐 매우 걱정했는데 발음도 좋으시고...

하지만 이 세션을 들어도 사실 전 아직도 BDT를 잘 모르겟습니다. 개념은 대충 알겠는데.. 흠..

세션 발표내용을 요약하면 이렇습니다.

애자일 개발 조직에서는 단위테스트가 아무래도 자동화가 용이하다보니 단위테스트만 비대해지는 경향이 있다. 그래서 대체로 애자일 개발 조직에서는 테스트가 피라미드 모양이 된다. 아래가 길고 위는 얇은..

이렇게 되면 필연적으로 GUI 테스트가 약해질 수밖에 없다. GUI 테스트는 아무래도 자동화 테스트가 어려운 것이 사실이다. GUI 테스트를 모두 자동화할 수는 없다. 자동화와 함께 탐색적 테스팅과 같이 사람이 하는 테스트도 중요하다.

그럼 GUI 테스트를 어떻게 자동화할것인가?

그에 대한 방안이 BDD 또는 BDT이다.

BDT는 기능이 아닌 행동(액션, 목적)에 집중하는 것이다. 큰 그림을 볼 수 있어야 한다.

기능에 집중하면 테스트 케이스를 많이 만들 수는 있지만 중요한 것을 놓칠 수 있다.

BDT를 작성하기 위해서는 퍼소나를 먼저 작성해야하고 그다음 퍼소나의 비즈니스 플로우에 집중해서 테스트 케이스를 도출해야한다.

정황이 최고다(Context is KING!!).

그리고 BDT로 작성한 테스트 케이스는 CI를 통해 지속적으로 통합, 수행되어야 한다.

머 이런 내용이었습니다.

사실 도구에 대한 소개나 시연 같은 것을 기대했었는데, BDD의 기본 개념만 소개되었고 마지막에 이러한 BDD의 구현은 돌아가서 각자 알아서 하라고 하더군요.

도구는 cucumber를 고려하라고 간단하게 말하고 넘어갔습니다.

그리고 여기서도 역시 CI 도구로 Jenkis를 강조하더군요.

정말로 재미있게 들었던 세션이었습니다.

댓글

이 블로그의 인기 게시물

스위치봇 & 스위치봇 허브 미니 간단 사용기

제 블로그에 예전부터 오셨던 분들은 제가 사브작 사브작 홈 오토메이션을 어설프게 해온 것을 아실겁니다. 작년부터 너무 하고 싶었던 도어락 자동화에 도전해봤습니다. 우리 나라에 자체 서비스로 앱을 통해 도어락을 제어하는 제품은 꽤 있습니다. 게이트맨도 있고, 키위도 있고, 삼성도 있죠.. 그런데.. 전 그것보다 구글 어시스턴트를 지원하는 도어락이 필요했는데... 그런건 안만들더라구요.. 꼭 필요한건 아니지만 웬지 해보고 싶은데... 언제 제품이 출시될지도 몰라서.. 가능한 방법을 찾아보다가.. 스위치봇이라는 제품으로 도어락을 버튼을 꾹 누르는 방법을 찾아서 스위치봇이 직구가 아닌 국내에 출시되었길래 낼름 구매해서 도전해봤습니다. 스위치봇 제품에 대한 내용이나 구매는  https://www.wakers.shop/  에서 하시면 됩니다. 저는 스위치봇에 스위치봇을 구글 홈에 연결시키기 위해 스위치봇 허브 미니까지 구매했습니다. 스위치봇 허브 미니가 없으면 스위치봇을 외부에서 제어하거나 구글 홈에 연결할 수 없습니다. 그리고 제가 스위치봇 허브 미니를 구매한 이유 중 다른 하나는 이 제품이 RF 리모컨 기능이 지원됩니다. 집에 있는 모니터를 제어할 필요가 있어서 이참 저참으로 같이 구매했습니다. 제품 등록은 어렵지 않습니다. 여기서는 스위치봇 허브 미니에 RF 리모컨을 등록해서 구글 어시스턴트로 제어하는 방법을 소개해드릴까 합니다. 제가 스위치봇 허브 미니로 모니터를 제어하고 싶었던 부분은 컴퓨터에서 크롬캐스트로 외부 입력을 때에 따라 바꿔야 하는데.. 그때마다 리모컨을 찾는게 너무 불편해서였습니다.  어차피 리모컨은 외부 입력 바꿀 때 빼고는 쓸 일도 없는지라.. 매번 어디로 사라지면 정말 불편해서 이걸 자동화 하고 싶었습니다. 그런데, 처음에 스위치봇 허브 미니를 등록하고 여기에 리모컨을 등록하니.. 구글 홈에 등록된 리모컨이 자동으로 등록이 됩니다. 그런데, 등록된걸 확인해보니 전원 On/Off만 제어되는 것이고, 나머지 버튼은 구글 홈...

HA에서 네스트 온도 조절기와 LG 에어컨 연동하기

  이 팁은 원래 어떤 분의 글로부터 출발했습니다. https://cafe.naver.com/stsmarthome/44207 그래서 저도 과감하게 네스트 온도조절기의 Y와 G에 더미 전선을 연결했더니.. 정말로 에어컨과 팬 기능이 활성화 되었습니다. 우리에게는 HA가 있으니 HA에 연결된 선풍기나 에어컨과 연동을 할 수 있습니다. 저는 선풍기는 없어서 에어컨의 송풍 모드에 팬 모드를 연결했습니다. 우선 네스트에서 냉방 모드로 변경 시 무조건 에어컨이 켜지는 건 낭비가 심할 듯 해서.. 아래와 같은 템플릿 센서를 templates.yaml에 만들었습니다. - sensor:   - name: 에어컨 시동     unique_id: cool     state: >            {% if is_state('climate.home', 'cool') and (state_attr('climate.home', 'temperature') <= state_attr('climate.home', 'current_temperature')) %}         ON       {% else %}         OFF       {% endif %} 네스트가 냉방 모드이고 설정 온도가 현재 온도보다 낮으면 ON, 그렇지 않으면 OFF 입니다. 이걸 가지고 아래처럼 자동화를 구성했습니다. alias: 보일러 에어컨 연동 description: '' trigger:   - platform: state     entity_id: sensor.cool     id: 냉방     to: 'ON'   - platform: state     entity_id: se...

테슬라 악세사리 구매 후기

테슬라를 구매하면서 알리와 네이버 페이에서 이런 저런 악세사리를 정말 엄청나게 구매했습니다. 스파크 13년의 경험을 총동원해서 어머 이건 꼭 사야지~~ 라고 생각되는건 모두 구매해봤습니다. 실제 비용은 쿠폰과 포인트로 조금씩 달라질 수 있기 때문에 구매한 제품과 구매 링크 그리고 간단한 후기만 남겨보도록 하겠습니다. 1. 하이패스(AP500S) 뭐.. 얼마 안 있으면 하이패스가 필요없어진다는 얘기도 있지만.. 시범 사업 이후에 전국 고속도로에 설치되려면 아직 멀었고 뭐.. 말이 필요없는 필수품이죠.. 테슬라 카페이서 추천하는거 구매해봤습니다. TKC에서 공구하는건 이걸 구매하고 나서 알게 되었네요.. 네이버 공식샵에서 구매했습니다.  설치 후 동작은 잘 되는데.. 센터 콘솔 안에 위치한 시거잭에 설치하고 뚜껑을 닫았더니.. 음량을 최대 5로 설정해도 동작음이 잘 들리지를 않습니다. 그래서 이게 제대로 결제가 된건지 안된건지 알 수 없는게 유일한 불만이고.. 작고 잘 동작하고 좋습니다. https://smartstore.naver.com/gair/products/4776415369 2. 액정 보호 필름(스코코) https://brand.naver.com/skoko/products/9882239107 좋다고 해서 구매해봤는데.. 솔직히 모르겠습니다. 그리고 미묘하게 크기가 안맞습니다. 테슬라 모니터 테두리가 곡면이라서 그런것 같습니다. 샵에서 붙여 달라고 했는데.. 제래도 붙지 않고 계속 기포가 생깁니다. 점착력이 떨어지는건지.. 혹시 몰라서 한번 더 구매해서 다시 붙여보려고 합니다. 무엇보다 비싸기 때문에.. 무반사 이런거에 큰 관심 없으시면 다른 적당히 저렴한거 구매하시는게 나을 것 같기도 합니다. 3. 도어 커버(카마루) https://blessauto.kr/products/37263 생각보다 얇고 얘도 생각보다 잘 안맞습니다. 미묘하게 좀 큽니다. 제가 똥손이라서 잘 못붙여서 그런것일 수도 있습니다. 막상 붙이고 나면 감촉도 좋고.. 관리하기 편합니...