一些典型測試錯誤
The role of testing
測試的作用
· Thinking the testing team is responsible for assuring quality.
· 認為測試小組應當負責質量保證。
· Thinking that the purpose of testing is to find bugs.
· 認為測試的目的是發現 bug。
· Not finding the important bugs.
· 找不到重要的 bug。
· Not reporting usability problems.
· 不報告可用性問題。
· No focus on an estimate of quality (and on the quality of that estimate).
· 不能集中于質量評估(以及這種評估的質量)
· Reporting bug data without putting it into context.
· 沒有放到具體環境中報告 bug 數據。
· Starting testing too late (bug detection, not bug reduction)
· 測試開始得太晚(發現了 bug,但不能減少 bug)
Planning the complete testing effort
計劃完整地測試工作
· A testing effort biased toward functional testing.
· 測試工作偏重于功能測試。
· Underemphasizing configuration testing.
· 低估了配置測試的重要性。
· Putting stress and load testing off to the last minute.
· Not testing the documentation
· 不測試文檔。
· Not testing installation procedures.
· 不測試安裝過程。
· An overreliance on beta testing.
· 過分依賴β測試。
· Finishing one testing task before moving on to the next.
· 完成一個任務之后才進行下一個。
· Failing to correctly identify risky areas.
· 不能正確識別危險領域。
· Sticking stubbornly to the test plan.
· 固執地堅持測試計劃。
Personnel issues
人員問題
· Using testing as a transitional job for new programmers.
· 將測試做為新程序員的過渡工作。
· Recruiting testers from the ranks of failed programmers.
· 從不合格的程序員中招募測試員。
· Testers are not domain experts.
· 測試員不是領域專家
· Not seeking candidates from the customer service staff or technical writing staff.
· 不從客戶服務人員或技術文檔寫作人員中尋求申請人。
· Insisting that testers be able to program.
· 堅持認為測試員應當會編程,
· A testing team that lacks diversity.
· 測試小組缺乏多樣性。
· A physical separation between developers and testers.
· 開發人員和測試員在物理位置上的隔離。
· Believing that programmers can't test their own code.
· 認為程序員不能測試他們自己的代碼。
· Programmers are neither trained nor motivated to test.
· 程序員既沒有接受過培訓,對測試也沒有熱情。
The tester at work
工作中的測試員
· Paying more attention to running tests than to designing them.
· 將更多的注意力集中于運行測試而不是設計它們
· Unreviewed test designs.
· 未經審核的測試設計。
· Being too specific about test inputs and procedures.
· 過于注重測試輸入和過程的細節。
· Not noticing and exploring "irrelevant" oddities.
· 不能注意和探索“不相關的”奇怪現象
· Checking that the product does what it's supposed to do, but not that it doesn't do what it isn't supposed to do.
· 檢查產品完成預期操作,但不檢查它是否沒有完成不應該完成的操作
· Test suites that are understandable only by their owners.
· 測試套件只有它們的作者才能理解。
· Testing only through the user-visible interface.
· 只測試用戶可見的界面。
· Poor bug reporting.
· 低劣的 bug 報告。
· Adding only regression tests when bugs are found.
· 在發現 bug 時僅添加回歸測試
· Failing to take notes for the next testing effort.
· 不能為下次測試工作做好記錄
Test automation
測試自動化
· Attempting to automate all tests.
· 試圖自動化所有的測試
· Expecting to rerun manual tests.
· 期望重新運行所有的手工測試。
· Using GUI capture/replay tools to reduce test creation cost.
· 使用GUI捕獲/回放工具減少創建測試的成本。
· Expecting regression tests to find a high proportion of new bugs.
· 期望回歸測試發現高比例的新 bug。
Code coverage
代碼覆蓋率
· Embracing code coverage with the devotion that only simple numbers can inspire.
· 熱心采用代碼覆蓋率,認為只有那些簡單的數字可以鼓舞士氣。
· Removing tests from a regression test suite just because they don't add coverage.
· 因為有些測試不能增加覆蓋率而將它們從回歸測試套件中去掉。
· Using coverage as a performance goal for testers.
· 使用覆蓋率作為測試員的績效目標。
· Abandoning coverage entirely.
· 完全放棄了覆蓋率。