在Agile Team中RD和QA的比例為何?

Tester-Developer Ratios on Agile Teams
http://lisacrispin.blogspot.com/2008/12/tester-developer-ratios-on-agile-teams.html

上次提到微軟對RD:QA比例的看法, 這次我們來看在agile team中, 比例應該又是多少?

作者提到這需要看情況, 那要看什麼情況呢? 以下是他考慮的因素:
1. Are the developers doing a good job of TDD? Does the team use acceptance tests to drive development, also?
2. How good is the automated regression test coverage?
3. How good is the communication between developers and customers?
4. Is the application testing-intensive, or does testing go pretty fast compared to coding?
5. Do the developers help with testing activities such as automating acceptance tests?

作者舉了三個例子
Example 1
(1) Project的背景
- My current team works with a financial services web app that is quite testing-intensive.
- The functionality is complex, and since we are dealing with peoples' money, we have to get it right.
- For some stories, testing takes more time than coding.
(2) RD所做的事情
- Our programmers are quite experienced in TDD and our regression test coverage is excellent.
- While our developers and customers sit close to one another and communicate well, and the developers have a high degree of domain knowledge, our stories are often quite complex.
- The developers take on a lot of testing tasks, including automating FitNesse tests and often writing the FitNesse test cases themselves.
(3) QA所做的事情
- A lot of tester time is devoted to working with customers to get examples of desired behavior and sort out technical challenges and other questions.
(4) RD:QA
- We have five programmers and two testers, and even so, the developers often have to pitch in extra on testing.

Example 2
(1) Project的背景
We were developing a non-critical internal application that would be used by a few expert users, so it wasn't the end of the world if the functionality wasn't perfect.
While the team did a good job of TDD, and we had good communication with customers despite the fact that we were a distributed team, this was clearly not enough.
(2) RD所做的事情
One or two developers or business analysts wore a tester "hat" each iteration and performed testing activities.
(3) QA所做的事情
I worked hard to transfer my testing knowledge to everyone on the team, so that our unit tests covered more test cases, and we could automate at least some of the functional regression tests.
(4) RD:QA
20 more more developers (subdivided into smaller teams but all working on one project) and I was the only official tester.

Example 3
(1) Project的背景
At first, the programmers could not get a handle on TDD or even unit test automation after coding, and I was buried.
I asked our coach for help. He helped us figure out how to get traction on unit testing, by providing training and time to learn.
Once the team mastered TDD, and pitched in on functional test automation, I was able to handle the other testing activities and we all worked well together.
(2) RD:QA
8 programmers and me, the tester.

由這些例子看起來, 如果RD可以大量apply TDD, unit testing, 也就整個開發活動是testing-intensive, 則可以讓QA專注於大量use case, or business scenarios.  這樣QA就不用佔有很高的比例.

我想這個結論, 和上次Microsoft QA manager的想法大致雷同. 若是RD能做更多基礎測試, 則系統會更穩定, regression testing能更快速, 也就是要讓RD確保do the thing right.

這樣QA就會有空確保do the right thing, 確認user想要的scenarios, 或是真正的use cases能夠正確運作. 而不是讓QA把時間大量花在do the thing right的測試上, 這樣就沒有空去照顧到do the right thing的部份, 這地方才是QA真正價值所在.

所以當一個team真正apply agile時, RD會做大量的test automation去確認do the thing right的部份. 這時候, 若是QA無法提升do the right thing這部份的能力, 小心啊, 你到時會被認為是多餘的....

kojenchieh 發表在 痞客邦 留言(1) 人氣()

Agile Testing Book

公司很多同事對這本是期待已久, 這是一本約576頁的巨作. 小弟終於在作者的blog中看到他終於寫完了, 應該2009/1月出版, 可能拿到手大約是過完農曆年後吧.

Agile Testing: A Practical Guide for Testers and Agile Teams (Addison-Wesley Signature Series) (Paperback)
by Lisa Crispin (Author), Janet Gregory (Author)
http://www.amazon.com/Agile-Testing-Practical-Guide-Testers/dp/0321534468/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1220381570&sr=1-1

這裡是作者的blog.
http://lisacrispin.blogspot.com/

這裡是這本書的網站, 有一些章節可以先downalod試讀, 並且也有整本書章節的mind map.
http://www.agiletester.ca/
http://www.agiletester.ca/Download.html

這是這本書的目錄, 若是你想看更多細節, 你可以看mind map中有寫
Part I Introduction
Ch1 What is Agile Testing, Anyway?
Ch2 Ten Principles for Agile Testers
- What's an Agile tester?
- Agile testing mind-set
- Applying agile principles and values
- Adding value

Part II Organizational Challengages
Ch3 Cultural Challengages
Ch4 Team Logistics
Ch5 Transitioning Traditional Processes

Part III Types of Agile  Testing
Ch6 The Purpose of Testing - Intro to Quadrants
Ch7 Technology-facing/support team
Ch8 Business-facing/support team
Ch9 Toolkit for business facing/suport team
Ch10 Business facing/critique product
Ch11 Technique facing/critique product
Ch12 Quadrant Summary - testing on a real agile project

Part IV Automation
Ch14 Why Automation, What Holds Us Back
Ch15 Developing an Automation Strategy

Part V An Interation in the life of a Tester
Ch16 Tester Activities in Release/Theme Planning
Ch17 Hit the Ground Running
Ch18 Interation Kickoff
Ch19 Coding and Testing
Ch20 Successful Delivery

Part VI Summary
Ch21 Key Success Factors

kojenchieh 發表在 痞客邦 留言(0) 人氣()



How can I get tests automated with back-to-back, short iterations? I don't have time

Agile最大的特色, 就是會有很多iteration發生. 但是這件事情, 帶給QA很大的負擔. 因為每次你將會有很多regression test需要執行, 而且你要執行的範圍, 不是只有這次新增的功能, 往往可能是要包含以前的features.

可是呢? 每次iteration的時間都很有限, 最多只有讓你有時間測完這次的功能, 你不太可能有時間去保全部的test cases, 去確認所有的功能是否正常. 所以每次只好欺騙自己, 之前的部分沒有動到, 所以應該部會有問題. 真的是這樣嗎? 我想你應該知道那是有點在騙自己的感覺.

那有沒有方法可以解決呢? 以下是這篇文章建議如何adopt test atuomation到你各個層面, 期待藉由高automation ratio, 來讓你每個interation的測試能夠cover的層面較廣, 讓你會比較安心

Agile Testing Realities
http://lisacrispin.blogspot.com/2008/12/agile-testing-realities.html

1. The whole development team, not only the testers, needs to tackle test automation.
2. Start by implementing a continuous integration and build process so you have a way to run your tests automatically, and get quick feedback from them.
3. Unit tests have the best ROI, so start test automation efforts there.
4. For legacy code, try a lightweight automation tool and do simple smoke tests that don't have a lot of logic in them and are easy to maintain. You'll be surprised how many regression bugs they find.
5. Cut down the scope of work your development team commits to in each iteration so you make sure there is time to finish all test automation tasks. Don't put them off until the next iteration - that's the road to perdition.
6 Repeat this mantra, write it on your story board or whiteboard: No story is done until it's tested! This includes automating regression tests for it too!

其實agile的方法是配套產生的, 你既然要iteration, 就會面臨這樣的測試問題, 所以他們才會提倡test driven, 以及一些高度test automation的工作, 這樣才能真正確保每個iteration的品質.

不過往往我們在執行時, 常常只是adopt一部分的practices, 自然而然地就會遇到很多問題. 就像我們公司, 很多team就只是要求要iteration, 可是相關RD or QA要配合的動作沒做, 自然就會run的很辛苦. 怪不得每次一adopt某個新的methodology, 就黑掉一個methodology. 慎之, 戒之啊!!

kojenchieh 發表在 痞客邦 留言(2) 人氣()

Report不只是Report而已


最近同時有好幾個小project同時在進行, 因此需要要求撰寫test status report, 讓相關的stakeholder知道目前的狀況.

可是我發現當我在assign member撰寫這份report時, 他們會問我要寫什麼樣的內容, 我是有給了一份基本制式的範例, 讓他們參考. 不過事後我想了一下, 我應該告訴他們, 這只是其中一種形式. 除了提供目前的狀態讓相關stakeholder知道外, 重點是你要思考一些事情. 思考你目前做的事情是否哪些地方做的不夠, 或是有哪些risk, 或是哪些地方要新增. 希望你能的藉由這些機會, 好好回顧過去, 展望未來.

我想我們花了太多時間, 在做test execution的事情. 可是卻很少花時間, 在討論我們所做的事情的品質. 在每次撰寫test status report, 應該是一個好的時機點, 讓大家坐下來,  一起思考一下, 我們自己表現的如何, 事情處理的好不好. 不要認為這是浪費時間, 需知道 faster is slower. 你一定聽過兩個樵夫砍樹的故事, 若是能經常花些時間磨利一下你的斧頭, 每次砍樹的時候才能更有效率.

以下這篇提供了一些思考方面, 可以參考一下

Planning for reporting
http://www.michaeldkelly.com/blog/archives/234

* How much testing did we plan to do and how much of that have we done?
* What potential tests are remaining and in which areas?
* What is our current test execution velocity and what has it been for the duration of the project? How does that break out across testing area or test case priority?
* What is our current test creation velocity and what has it been for the duration of the project? How does that break out across testing area or test case priority?
* How much of our tests have been focused on basic functionality (basic requirements, major functions, simple data) vs. common cases (users, scenarios, basic data, state, and error coverage)vs. stress testing (strong data, state, and error coverage, load, and constrained environments)?
* How much of our testing has been focused on capability verses other types of quality criteria (performance, security, scalability, testability, maintainability, etc…)?
* How many of the requirements have we covered and how much of the code have we covered?
* If applicable, what platforms and configurations have we covered?
* How many issue have we found, what severity are they, where have we found them, and how did we find them?
* Which of the stakeholders’ questions can we answer? What are the answers?
* Which questions can we not yet answer? What keeps us from answering them?
* To the stakeholders: How well are we answering your questions? What other information would you like from us?
* Did the automated tools employed meet their purpose?
* Did we get enough ROI from those tools to justify their continued usage?

kojenchieh 發表在 痞客邦 留言(0) 人氣()

創意到底是什麼


由於最近被公司assign 要幫忙推廣創新, 因此開始survey一些創新的書籍. 老實說, 這類的書籍還真的很無聊,不容易看的懂. 可能我還是新手吧, 只覺得翻譯過來的東西不易消化.

不過最重要的, 很多書連創新的定義都沒有講的很清楚. 到底什麼是創新呢? 為什麼會這樣問呢?

因為每次當有人被要求提出創新時, 總是怕提出的idea不被接受. 每次有人要提出一些創新的idea, 有些就會說這個idea的水準不夠.

似乎大家對創新這東西要求很高, 認為他要是很高科技, 有很深的技術, 所以沒有敢去碰它.

當我看到"豐田創意學"這本書時, 它提到豐田每年執行約一百萬個創新, 我的天啊, 那到底是怎樣的世界啊? 那真的是每個人都有這麼多的好的idea嗎?

公司有位同事聽到之後, 覺得這沒有很了不起, 因為製造業有很多東西是經驗的累積, 有些老師傅在調一些東西, 很有經驗也可以將這些東西提成創新. 像是螺絲轉幾圈, 這些都可以.

或許他們這些東西很微不足道, 但我是很好奇, 即使我們也提一些這樣的東西, 我想我們每年也無法維持1萬個以上吧.

那豐田認為創新是什麼呢?
創新就是尋求優雅的解決方案 (Elegant Solution).
創新非關技術, 當然也非關製造, 而是著眼於價值, 機會和滿意, 而非新發明. 客戶想要的不是產品和服務, 而是問題的解決方案.

那什麼是優雅呢?
解決方案, 簡單比較好. 優雅則更好. 優雅是最不複雜的簡單.
它指的是, 在最省力, 最省錢的情況下, 找到最得意的問題解決方案, 已達到最佳, 最理想的效果.

所以創新是企圖找出比以前更好的方式. 只要你常常能問"有沒有更好的方法", 若能持續維持"好, 還要更好"的看法, 那你就能所向無敵.

多數有效果的創新, 是不斷尋求最佳解決方案的結果. 而意料之外的劃時代突破, 在策略性計畫中的地位是不高的, 因為他們常常都是僅只一次, 或許只是美麗的意外, 不會重複出現.

看完豐田的想法後, 那我們的創新是什麼呢? 是要有技術, 還是要什麼呢? 我不知道把關者是否已經深思熟慮過了?

Reference
1. 豐田創意學- Matthew May


kojenchieh 發表在 痞客邦 留言(0) 人氣()

Close

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

reload

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼