기본 콘텐츠로 건너뛰기

STAREAST 참관기 - Performance Testing in Agile: The Path to 5 Star App Reviews

드디어 STAREAST 마지막 날입니다.

짧다면 짧고 길다면 긴 4일의 일정인데.. 그곳에 있을때는 참 긴 시간이었는데..

지금 돌아보니 정말 찰나였던 것 같습니다.

그 수많은 세션을 다 듣지 못한것이 아쉬울 따름입니다.

지난주에는 제 스마트폰이 갑자기 급사(커스텀 커널 올렸다가 무한 부팅에 빠지는 바람에.. )하면서 스마트폰 복구하고 회사 업무 보느라 미처 후기를 올리지 못했습니다.

STAREAST 참관기는 이번주 안에 마무리 지을 생각입니다.

컨퍼런스 2일차는 첫날과 달리 Agile Testing과 Personal Excellence 세션이 빠지고 대신 Mobile Testing과 Performance Testing 세션이 진행되었습니다.

키노트는 Theresa Lanowitz 라는 분의 'Extreme Automation: Software Quality for the Next Generation Enterprise' 였는데. 최신 IT 업계의 트렌드와 함께 이런 트렌드에 맞춰 테스트 자동화가 중요하다는 일반적인 내용이었습니다.

그 다음으로 첫번째 세션으로 Mobile App Testing Secrets 를 들었는데 컨퍼런스 첫날 들었던 Improving the Mobile Application User Experience(UX) 만큼은 아니었지만 저에게는 그다지 영양가가 높지 않은 세션이었습니다.

세션 내용은 결국은 모바일 테스팅의 최신 트렌드는 크라우드 테스팅이고 자신의 회사가 서비스하고 있는 크라우드 테스팅은 이런 장점이 있고 불라 불라.. 머 그런 내용이었습니다.

최근 국내에서도 STA(STEN?)에서 크라우드 테스팅을 시도하고 있는데.. 과연 이 서비스가 국내에 정착할 수 있을지는 저는 좀 의문입니다.(이 크라우드 테스팅이라는것이 머 새로운 서비스도 아니고 벌써 한 10년은 된 서비스인데.. 그동안 국내에서는 말도 안되는 보안 어쩌고 저쩌고에 돈이 들어간다는 이유로 몇번이고 시도는 있었지만 흥하지 못한 서비스였는데.. 최근에 모바일 테스팅을 포함해서 테스트 환경의 복잡성이 너무 높아지고 제어와 구축에 들어가는 비용이 너무 높아지다보니 다시 한번 각광받고 있는데.. 글쎄요.. 외국에서는 uTest와 같은 나름 성공한 사례도 있지만 국내에서는 흠.. )

그 다음 들은 세션이 Shane Evans 이라는 분이 발표한 'Performance Testing in Agile: The Path to 5 Star App Reviews' 입니다.

이 발표도 첫날 들었던 The Three Pillars Approach to Your Agile Test Strategy 와 내용상으로는 그다지 큰 차이가 없었습니다.

다만 발표 내용이 성능 테스팅에 좀 더 특화되어 있었고 HP에서 발표한 내용이어서 처음에는 로드러너 홍보를 하려나 했는데, 웹의 전체적인 구조와 각각의 단계에서 수행해야 할 테스팅에 대해 전체 개괄적인 내용을 제공하는 생각보다 알찬 발표였습니다.

결론적으로 성능 테스팅 대상과 방법은 많은데 애자일에서 성능 테스팅은 어떻게 수행해야하는가?에 대해서

스프린트에 성능 테스팅을 통합하고 테스트 환경을 가상화할 필요가 있다는 것이 첫번째 였습니다.

두번째는 성능 테스트를 위한 스크립트는 유지보수가 쉬워야 하고 성능 테스팅은 한번에 끝나느 것이 아니라 피드백을 통해 지속적으로 테스트를 수행하는 것이 중요하다는 것이었습니다.

세번째는 적절한 데이터를 제공하는 중요하다는 것이었습니다.

이 모든 것이 절대 불가능할 것처럼 보이지만(이것에 대해서 유니콘을 비유로 들던데.. 좀 뜬금없는 느낌이 있었습니다.) 그렇지 않다라는 것을 강조했습니다.

분명히 어려운 일이지만 불가능하지 않다. 가능하다라는 것이었고, 결론은 역시 테스트 자동화였습니다.

조금은 뻔한 결론이었지만 전체적인 성능 테스팅을 이해하는데에는 꽤 괜찮은 세션이었습니다.

이렇게 오전 세션이 끝났습니다.

다음에는 오후 세션에 대한 후기를 올리겠습니다.

댓글

이 블로그의 인기 게시물

합성 사용자(Synthetic Users)의 5가지 유형과 AI 테스팅 현장에서의 활용법

AI와 생성형 모델 기술이 발전하면서, 사용자 경험(UX) 연구와 테스팅 현장에서 가상 퍼소나를 활용해 테스트 데이터를 수집하거나 사용성을 평가하려는 시도가 급격히 늘고 있습니다. 이를 흔히 '합성 사용자(Synthetic Users)'라고 부릅니다. 하지만 막연히 "AI에게 사용자 역할을 시켜 테스트를 돌린다"고 할 때, 그 가상 사용자가 어떤 방식과 데이터로 생성되었는지 명확히 구분하지 않으면 자칫 왜곡된 결과에 빠질 위험이 있습니다. UX 및 사용성 리서치 분야의 권위 있는 기관인 MeasuringU에서 이 합성 사용자의 개념을 명쾌하게 분류한 아티클을 공개했습니다. 바로 "What Are the Different Types of Synthetic Users?"라는 글입니다. (출처: MeasuringU - What Are the Different Types of Synthetic Users? / Jeff Sauro, PhD & Jim Lewis, PhD) https://measuringu.com/what-are-the-different-types-of-synthetic-users/ Jeff Sauro와 Jim Lewis 박사는 합성 사용자를 단순히 하나의 개념으로 뭉뚱그리지 않고, 생성 기술의 근거와 데이터 기반에 따라 크게 5가지 유형으로 깔끔하게 정리해 줍니다. 첫째는 규칙 기반(Rule-Based) 합성 사용자입니다. AI 모델이 아니라 사전 정의된 조건문, 정규식, 시나리오 스크립트에 따라 움직이는 전통적인 형태의 가상 사용자입니다. 예측 가능하고 정확하지만, 인간 사용자의 복잡한 정서나 미묘한 변수를 반영하진 못합니다. Selenium, Playwright, K6 같은 도구를 통해 지정된 경로대로 버튼을 누르고 데이터를 입력하는 방식을 들 수 있습니다. 둘째는 퍼소나 기반 LLM(Persona-Based LLM) 합성 사용자입니다. 생성형 AI에게 "너는 50대 비테크놀로지 사용...

QA 부서는 필요한 것인가?

많은 프로젝트 관리 방법론과 조직론에서 항상 얘기하는 것이 QA 부서를 독립적으로 두는것에 대해 강조하는 편이다. 테스트 역시 테스트 조직을 별도로 두는 것에 대해 강조하는 편이다. 이러한 QA 부서 또는 테스트만을 전담하는 조직이 꼭 별도로 존재해야 하는 것일까? 테스트의 경우에는 개발자와 다른 시각을 가진 사람들의 테스트의 필요성을 강조하기 위해서 테스트 조직을 별도로 두는 것을 강조하는 편이다. 만약 테스터가 개발이나 영업, 운영과 같은 조직의 하부 조직이 되다 보면 정치적인 독립성에 따라 자신만의 독립적인 시각이나 의견을 피력하기 힘든 점이 있기 때문이다. QA 부서는 어떨까? 여기서 먼저 생각해 볼 것이 있다. 그것은 QA 부서가 과연 무슨 일을 하는 부서인가? 하는 문제이다. 여러분의 회사에서 QA 부서는 과연 어떤 일을 하는가? 여러분은 QA 부서에 대해 얼마나 호감을 가지고 있는가? 펼쳐두기.. 회사마다 회사의 정책이나 전략에 따라 QA 부서의 역할은 매우 판이하다. 그리고 그 역할에 따라 회사 내에 QA 부서의 호감도도 매우 달라지는 편이다. 만약 여러분이 QA 부서에 대한 호감도가 낮다면 아래와 같은 문제가 있는 것은 아닌지 한번 고민해 보시고 댓글이나 트랙백등으로 의견을 주셨으면 하는 바람이다. 먼저 일반적으로 QA 부서가 하는 일은 제품의 품질을 측정하고 제품의 품질을 향상시킬 수 있는 모든 활동을 계획하고 제어하는 일을 한다. 그런데 문제는 소프트웨어의 품질이 문제가 된다. 먼저 공장과 같은 하드웨어를 제조하는 회사의 경우에는 품질 부서가 독립적으로 존재한다. 이 품질 부서에서 제품의 품질을 측정하고 제품의 품질을 개선하기 위해 집중하는 곳은 하드웨어 그 자체이다. 하드웨어는 각각의 부붐의 품질이 100인 제품이 모여서 하나의 제품을 구성하게 되었을 때 그 제품의 품질은 역시 100이다. 이것은 매우 명확한 사실이다. 소프트웨어를 만드는 회사의 조직과 관리 방법 역시 이러한 하드웨어를 만드는 회사의 조직과 관리 방법을 ...

AI 에이전트의 환각과 프롬프트 폭증을 막는 '컨텍스트 엔지니어링(Context Engineering)'과 아키텍처의 미래

AI 코딩 에이전트나 생성형 LLM을 소프트웨어 개발에 접목하는 시도가 늘어나면서, 엔지니어들이 마주하는 가장 큰 기술적 병목 중 하나는 바로 '컨텍스트(Context)'의 관리입니다. 저 역시 최근 AI와 바이브 코딩(Vibe Coding)을 활용해 여러 프로젝트를 진행하고 있는데, 하나의 대화창(세션)을 오래 켜둔 채 작업을 계속 이어가다 보면 AI가 초기 맥락을 잊어버리거나 이전에 지켜달라고 했던 제약조건을 놓치며 실수를 저지르는 경우를 자주 겪곤 합니다. 그래서 저는 목적별로 대화창을 명확하게 분리해서 작업하거나, 어느 정도 작업 단계가 진행되면 지금까지의 구현 내용과 의사결정을 요약 정리한 뒤 새 대화창에서 AI에게 이를 다시 학습시키는 방식으로 맥락을 관리하고 있습니다. 그렇다면 엔지니어링 아키텍처 차원에서는 이 문제를 어떻게 접근하고 있을까요? InfoQ의 발표 아티클 "Architecture / Context Engineering"에서는 바로 이 지점, 즉 단순한 프롬프트 엔지니어링을 넘어 시스템 아키텍처 수준에서 컨텍스트를 제어하는 '컨텍스트 엔지니어링(Context Engineering)'의 필요성과 구체적인 프레임워크를 다루고 있습니다. (출처: InfoQ - Architecture / Context Engineering) https://www.infoq.com/presentations/architecture-context-engineering/ 발표자들은 코딩 에이전트나 자율형 에이전트가 현장에서 실패하는 가장 큰 이유로 '비대해진 컨텍스트 윈도우(Bloated Context Windows)'와 무분별하게 채워진 프롬프트(Stuffed Prompts)를 꼽습니다. AI에게 너무 많은 정보를 한 번에 주면, 모델의 주의력(Attention)이 분산되거나 논리적 우선순위를 놓치는 현상이 발생합니다. 마치 인간 엔지니어에게 백과사전 수십 권을 던져주고 "이거 다 읽고 10초 ...