PIXNET Logo登入

David Ko的學習之旅

跳到主文

歡迎光臨 David Ko 在痞客邦的小天地

部落格全站分類:

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 3月 01 週五 202410:29
  • 測試管理都在管什麼

測試管理都在管什麼 在 Odd-e 的 Nerd Talk 中,
我分享了之前在測試管理方面的一些經驗
(繼續閱讀...)
文章標籤

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

  • 個人分類:測試管理
▲top
  • 7月 19 週日 200906:21
  • 如何評量測試人員的效率


如何評量測試人員的效率
How to measue Tester performonce
http://www.softwaretestingclub.com/profiles/blogs/how-to-measue-tester
(繼續閱讀...)
文章標籤

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

  • 個人分類:測試管理
▲top
  • 5月 25 週一 200909:22
  • 十個減少軟體測試成本的方法


十個減少軟體測試成本的方法
10 ways to reduce cost of software testing
http://shrinik.blogspot.com/2009_04_19_archive.html
(繼續閱讀...)
文章標籤

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

  • 個人分類:測試管理
▲top
  • 5月 05 週二 200916:18
  • 如何評估測試人員績效


如何評估測試人員績效
Assessing Tester Performance
http://blogs.msdn.com/imtesty/archive/2009/04/28/assessing-tester-performance.aspx
(繼續閱讀...)
文章標籤

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

  • 個人分類:測試管理
▲top
  • 4月 22 週三 200915:37
  • QA和RD如何在早期就開始合作


QA和RD如何在早期就開始合作
有人說若是QA早一點開始加入專案, 應該可以幫助專案品質變好, 可以幫忙釐清需求, 可以縮短測試時間. 聽起來真的好處多多.
(繼續閱讀...)
文章標籤

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

  • 個人分類:測試管理
▲top
  • 4月 17 週五 200909:26
  • Test Case所涵蓋的範圍足夠了嗎?


Test Case所涵蓋的範圍足夠了嗎?
很多人常常問, 如何得知test cases是否已經開得足夠了, 是否已經cover所有的範圍了, 這還真的是很難回答的問題, 但是也是各很值得大家一起討論的問題.
(繼續閱讀...)
文章標籤

kojenchieh 發表在 痞客邦 留言(3) 人氣(11,137)

  • 個人分類:測試管理
▲top
  • 4月 08 週三 200913:48
  • 如何當一個成功的Test Manager


如何當一個成功的Test Manager
10 Things You Might Not Know About Beging a Successful Test Manager
May, 2008
Posted by Rick Craig
Published in Better Softeware
(繼續閱讀...)
文章標籤

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

  • 個人分類:測試管理
▲top
  • 3月 18 週三 200909:30
  • 招募SDET來當QA是必要的嗎? 正確的嗎?


招募SDET來當QA是必要的嗎? 正確的嗎?

我想這篇真的很值得大家看一下.

尤其是你在掙扎, 是否要效倣Microsoft hire大量的SDET來做QA的工作時, 這裡提出了不同的見解, 提出了這樣的作法的盲點在哪裡.

此外在後面, 作者和James Bach所提到QA和RD想法上的差別, 我想是非常一針見血的見解. Enjoy it

What's an SDET - II
http://xndev.blogspot.com/2009/03/whats-sdet-ii.html

March 06, 2009
Posted by Matthew
Published in Creative Chaos

我想很多人都看過"The art of software testing", 在書中最有名的例子, 是測試一個三角形的程式. 讓我先回顧一下這個題目

有一個程式, 會讀入三角形的三邊長, 然後會輸出這個三角形是何種三角形. 比如說, 正三角形, 等腰三角形, 一個普通的三角形, 和不是三角形等等.

作者認為, 書中的回答是非常RD style的答案, 為什麼呢? 作者解釋如下:

作者認為如果你只是注意input 和expected results, 那你心中只看到這樣的東西

my $triangle_type = get_triangle_type($sidea, $sideb, $sidec);

然後你會做以下的測試
- The basic equivalence classes,
- The boundaries,
- Maybe measure statement coverage - maybe even branch coverage,
- Perhaps have a bunch of negative tests like entering words instead of numbers,
- A "length" of a negative number
- In the days of MS-DOS where you had a single user sitting at a single computer typing in one value at a time, that might be just fine.

但是作者認為, 在現在的環境中, 只做對了一半. 因為通常我們的程式, 會放在web上執行, 或是做成 web service讓別人呼叫. 因此你可能還需要考慮以下問題

- Does it render correctly in all browsers? IE6, IE7, FF2, FF3, Safari?
- Does it look pretty? Is the user interface usable?
- What happens if I resize the browser? Does the new rendering make sense?
- If I click tab through the various inputs instead of using the mouse, does the change in order make sense?
- If I press the "ENTER" or "RETURN" key, does that trigger the submit button?
- What happens if I click "submit" twice in a row - really fast?
- What happens if, after I click submit, I click the back button? Do I go back to the main screen or do I get one of those bizarre "This page was generated dynamically do you want to re-post?" error messages?
- What if I am visually impaired? Can I turn up the font or does the Cascading Style Sheet "lock" down the user experience? If I can crank up the font is it visually appealing?
- What if I am blind? Can I use the application by a tool for the blind like Lynx? Do all of the images have "alt=" tags?
- Is the web service reasonably fast? What if it's used by 100 users all at the same time? (Note: This was never a problem on MS-DOS, where you only had one user at a time)
- Can I run the application on my 1024x600 netbook? The ads said my netbook was good "for web surfing"
- Can I run the application on my Cell Phone?
- If I come in from a chinese, korean, or italian system but I know english, does the user experience make sense?
- What if I don't know English? Should our software be localized? If yes, what localizations?

這就是會什麼作者覺得書上的答案是不夠的, 這個三角形的例子是不夠理想的, 因為它只著重在某一類型的測試, 而忽略了其他類型的測試.

所以作者認為如果你只是hire RD來當 QA, 其實是一件很危險的事. 因為他很可能都只是注意到前半部的測試 : code, code, and statement coverage, 而不會去想到後半部的測試.

作者還認為, 我們在前半部份的測試,通常都做的很好. 但是對於後半部的測試, 我們經常是缺乏根據使用者的經驗, 來建立一些在real world會遇到的測試


以下是作者認為Microsoft對QA的態度
===============================================
Now, the Microsoft Guys claim to be doing it right.

They want Software Design Engineers in Test (SDETs) who can do *both* entry-level developing *and* critical investigation of software under test - and there are some people who fit into that category.

But that's like saying you want excellent sprinters who are also world-class distance runners - while they do exist, there just ain't that many of those people on the planet.

Those that are here can usually find gainful employment, and not all of them want to live in Washington State, China or India.

The result is that, as an employer, you'll either have to (A) Pay an relative large sum for these people, (B) Have a bunch of open positions while you look for people with the right mix, or (C) Compromise, hiring people who are, for example, good devs you think might make good testers.

This runs the serious risk of developer myopia.

===============================================

之後作者和他同事James Bach (有名的software testing作者)討論過, 以下是Jame Bach的意見

The words that you quoted [Matt talking about MS's view of testers] represent an attitude that systematically misunderstands testing as a purely (or primarily) a technical activity the object which is to produce "test cases." I too had that attitude, early in my career.

I grew out of it as I came to understand, through my experiences as a test manager, that a test team becomes stronger when it hosts a variety of people with a variety of backgrounds.

Through the ordinary action of teamwork, a diverse group of thinkers/learners exploits the knowledge and skills of each for the benefit of all.

My attitude about testing is deeply informed by a study of cognitive psychology, which is the study of how people think, and epistemology, which is the study of how people can know what they know. ...

When you approach testing not as hot-dogging with test tools or techniques, but rather as a process of human minds encountering human artifacts and evaluating them in human terms for other humans, you eventually realize that the testing process is harmed when any one point of view or way of thinking comes to dominate it.

I would like at least one programmer on my test team. Maybe a few.
In some cases (such as in testing development tools) I will need everyone to be a programmer.

However, I do not treat programming ability as the center of gravity for testing.
Instead I look for rapid learning, high tolerance for uncertainty, and general systems reasoning.
Even then, I don't need EVERYONE to be good at those things.

=======================================================
之後是作者的想法:

I'd use different rhetoric and be less critical, but I understand what James is saying.
As testers, we tend to have developer-envy.
The reality is that the two skills are separate, distinct, and complementary.
(Unless, say, you are testing a compiler or a debugger. Are you?)

Now, can a non-developer-tester be a more effective by picking up a little code?
Absolutely. I have an undergraduate degree in Math/CS and a Master's in CIS, of which I am extremely proud - not to mention a decade with a title of developer on my business card.
AND it took me years to fight my way through developer myopia to see the whole picture of software testing.

Developers tend to think in terms of automatable business processes - when exactly what needs to be done up front isn't clear, developers claim that the requirements are "inconsistent" and refuse to program.

The whole picture of testing might include some repeatable elements, but it also includes empirical processes - which adapt through learning as they happen.
This is not a straightforward business process to automate. Developer-Envy doesn't help our craft, it hurts it.

(繼續閱讀...)
文章標籤

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

  • 個人分類:測試管理
▲top
  • 2月 03 週二 200909:23
  • Software Testing Career Development


Software Testing Career Development
http://watirmelon.wordpress.com/2008/03/13/software-testing-career-development/

對於在軟體測試上的職涯規劃, 作者非常主動地鞭策自己一直往前進. 他認為不管公司有沒有提供這樣的協助或是規劃, 自己都有責任對自己專業生涯發展做些事情.

他發現Ian Clatworthy 提出了一個 professional development framework, M.E.T.A. - Management, Engineering, Technology and Applications.

他根據這個framework加以改良, 變成Leadership, Concepts, Business-focus & Tools. 在這裡面提出在生涯發展規劃中, QA應該要具備哪些能力.

A. Leadership (Ian’s Management)
作者認為不管你是不是manger, supervisor, 或者甚至你都不需要管人, 你都會需要leadership的能力. 因此他將Ian的mangement做了些調整, 變成是leadership. 以下是作者認為要有的leadership
1. Using the right side of my brain
- being organised, tidy & efficient (following concepts like 5S), being emotionally intelligent and aware, developing creative solutions.
2. Having a project management focus
- following sound project management techniques and conducting each bit of work as a small project.
3. Writing Well
- following known writing guidelines. Documenting every bit of work. Sharing all knowledge and information.
4. Communicating Well
- Documenting every bit of work. Communicating progress and issues in the right format at the right time.
5. Team Building
- establishing productive relationships with members of teams working in and with. I can’t emphasise how important this is.
6. Finding Informal Career Guiders
- always indirectly looking out for people who you can chat to informally about career stuff. This is where I have discovered great leadership styles and techniques. I call these people career guiders because I really hate the word ‘mentor‘.
7. Being ethical
- Making sure I provide value and I am honest in everything I do.
8. Sticking up for others you work with
- Making sure that your fellow team mates are well supported.


B. Concepts (Ian’s Engineering)
對於software engineering, 作者比較重視software 部分. 也就是包含software design, development and testing相關的理論和觀念.
如果你能有正確的觀念, 那表示你對事情將會有正確的認知和認識
這些觀念通常你在大學中, 就已經學習過, 那些知識通常都歷久不衰.
1. Understanding Software Development Methodologies:
- how IT software design and development works as a whole.
2. Understanding Software Projects:
- how IT software projects work.
3. Understanding Programming:
- knowing programming concepts and techniques.
4. Understanding Testing:
- understanding testing best practices, test driven development, test automation, acceptance testing.
5. Understanding User Centred Design:
- focusing on usability and designing for users. Paper prototyping and iterative design.
6. Understanding Design:
- understanding general design principles.


C. Tools (Ian’s Technology)
作者曾經打算延用Ian的technology這個term, 但是最後他還是覺得tools比較合適. Tools和concepts的差別是, tools是用來支持 Concepts的實踐, 並且tools可能換一直更新, 但是concept通常是保持不變的.
作者目前比較著重在用open source 的tools, 因為他不用錢, 品質也不錯.
1. Programming Languages:
- such as Ruby, Python, Jython.
2. Testing Tools:
- such as Watir, OpenQA.org and homebrew test automation tools.
3. Collaboration Tools:
- such as wiki’s, defect management, blogs.
4. Versioning Tools:
- such as SVN, Bazaar VCS.

此外還一些技術(不算是tools), 作者認為也值得了解
* Ajax (Rich Internet Applications)
* Web 2.0
* Social Networking
* Tag-based Folksonomies
* RSS


D. Business-focus (Ian’s Applications)
作者認為了解目前工作上的business是如何運作, 也是非常重要的一件事情. 通常IT人員不了解, 也不太尊重他們所工作的business.
1. Understanding business goals:
- why I am employed in the first place.
2. Understanding business applications:
- what they do and how they fit into the business processes.
3. Understanding business processes:
- how business is conducted, with or without IT.
4. Understanding how business and IT collaborate and partnership:
- Hoping that the tail doesn’t wag the dog!
5. Providing value to the business:
- continuing to be employed.
6. Keeping up to date with the business:
- knowing what the business industry/competition is doing and about the other happenings in the business domain.
7. Understanding how executive management operates:
- because they usually pay you and maybe you would like to be there someday.

不知道各位看官, 你自己是如何規劃你的職涯發展? 或許和作者相去甚遠, 但是這也無所謂, 指要不要完全都沒有想過就好. 重點是要自己對自己負責, 千萬不要等公司幫你規劃, 那是會拖很久的!!
(繼續閱讀...)
文章標籤

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

  • 個人分類:測試管理
▲top
  • 1月 14 週三 200909:43
  • 是Bug? 還是Feature?


是Bug? 還是Feature?


喲哪桑在他blog中, 有post 一篇文章 "Feature Request, Or Bug Fixing?"
http://jonathanspeaking.blogspot.com/2008/10/feature-request-or-bug-fixing.html

其中談到一個長久以來爭辯不休的問題: 當你找到一個問題, 你會視為bug, 還是視為feature? 當喲哪桑一發表完後, 已起很大的迴響, 很多人提出不同的看法. 我想是很值得大家去看看

最近小弟在閑逛時, 剛有看到相關的blog文, 因此找出來讓大家參考一下另一種說法.
Bug v.s. Feature
http://blog.abakas.com/2008/10/bug-vs-feature.html

當QA找到一個"bug" 時, 有時候很容易引起以下的討論

"well, it SHOULD do this, so of course it's a bug and we need to fix it really fast"
或是
"we didn't screw up and this is something new to us so it's a new feature"

尤其是再你有一大堆bug要處理的時候, 人們的心態就會非常的defensive, 會根據對他最有利的結果, 加以反駁或是防禦.

作者認為不管他是什麼都不重要.
因為二者都需要被排被處理的優先順序, 要被追蹤, 執行, 測試, 然後最後release 它.

然而, 為了避免大家爭吵不休, 作者有個簡單的判斷法則:

If it's something we've never tried to do before, then it's a feature.
If it's something we've tried to do and have messed up or missed an edge case, then it's a bug.

作者認為, 雖然它並不是很完美, 並且有些地方有點模糊, 但至少還算明確
你認為這個rule有用嗎?

另外一個在喲哪桑的文章中提到: "既然問題已經存在一兩年又沒有人解,表示這問題也不是挺重要"

老實說, 我也是無敵感冒的, 因為個人認為他是一個推託的用詞. 只是當你在忙的時候, 自然就會不自覺慣用這樣的伎倆.

其實不管他是否真的沒發現, 那都不重要. 重要的是你是否想處理. 若是想處理, 你就會評估可能性及所需resource, 若是允許你便會加你的work item, 去tracking它. 而不是一開頭就拿這句話來搪塞.

不過, 講了半天, 我也承認人性是很難克服的. 包括我自己, 在壓力大的狀況下, 很容易挑一條容易走的路, 而不一定是正確的路來走....... 所以, 也無法太則怪別人.



(繼續閱讀...)
文章標籤

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

  • 個人分類:測試管理
▲top
12»

文章搜尋

熱門文章

  • (3,956)Cyclomatic Complexity
  • (5,907)什麼是Definition of Done (DoD)?
  • (8,223)IDEO 的創新秘訣
  • (11,137)Test Case所涵蓋的範圍足夠了嗎?
  • (3,090)你所應該知道的BVT
  • (2,982)自動化回歸測試的目的
  • (19,167)KJ 親和圖法二三事
  • (13,521)設計觀點 (POV, Point of View) 和使用者故事的比較
  • (9,374)測試計劃該寫什麼?
  • (4,205)看板, 看板系統, 看版方法? 傻傻分不清

個人資訊

kojenchieh
暱稱:
kojenchieh
分類:
好友:
累積中
地區:

動態訂閱

文章分類

  • 正念 (2)
  • DevOps (13)
  • Agile HR (1)
  • 課程介紹 (26)
  • retrospective (15)
  • 敏捷需求探索 (22)
  • 自媒體 (2)
  • TOC (4)
  • Google Sprint (31)
  • 敏捷轉型 (68)
  • LeSS (5)
  • Kanban Experience Report (20)
  • 引導/教練 (29)
  • Spotify (4)
  • Pretotyping (7)
  • Lean Startup (22)
  • Impact Mapping (4)
  • Agile UX (35)
  • Kanban (115)
  • Lean from the Trenches (11)
  • Estimation (7)
  • Scaling & Distributed Agile (9)
  • Standup Meeting (18)
  • Feature Team (10)
  • scrum教學 (5)
  • 過敏 (9)
  • 魚油 (3)
  • Hadoop (1)
  • Scrum入門手冊 (4)
  • Kanban and Scrum (44)
  • 健康 (46)
  • TDD (41)
  • Cloud Computing (1)
  • 我的Scrum新體驗 (4)
  • Innovation (14)
  • Testing Books/Magazine/WebSite (12)
  • Regression Test (6)
  • 測試管理 (19)
  • 讀書心得 (27)
  • User Story (19)
  • Continuous Integration (16)
  • Scrum (126)
  • 勵志 (46)
  • Agile Concept (204)
  • MS Server (3)
  • Scrum and XP的實戰經驗 (65)
  • Performance Testing (38)
  • Agile Testing (41)
  • 投資理財 (25)
  • Exploratory Testing (22)
  • C# (1)
  • 專案管理 (25)
  • 測試自動化 (62)
  • 測試基本知識 (108)
  • 未分類文章 (1)

文章精選

參觀人氣

  • 本日人氣:
  • 累積人氣: