二十個最佳測試實務

20 Best Testing Practices

http://jaanujeeva.blogspot.com/2009/01/20-best-testing-practices.html

根據作者的經驗, 整理出一些他認為best testing practices:


1) 學習去徹底地分析你的測試結果
- Do not ignore the test result.
- The final test result may be ‘pass’ or ‘fail’ but troubleshooting the root cause of ‘fail’ will lead you to the solution of the problem.
- Testers will be respected if they not only log the bugs but also provide solutions.

2) 在每次測試中, 學習去涵蓋更多受測範圍
- Though 100 percent test coverage might not be possible still you can always try to reach near it.

3) 將你的受測軟體分解成更小的部份, 並且最大化其涵蓋程度
- Write test cases on such individual unit modules. Also if possible break these modules into smaller parts.
    * E.g: Let’s assume you have divided your website application in modules and ‘accepting user information’ is one of the modules.
- You can break this ‘User information’ screen into smaller parts for writing test cases:
    * Parts like UI testing, security testing, functional testing of the ‘User information’ form etc.
- Apply all form field type and size tests, negative and validation tests on input fields and write all such test cases for maximum coverage.

4) 在撰寫測試個案, 先考慮測試所想要的功能, 也就是先確認規格上的功能
- Then write test cases for invalid conditions.
- This will cover expected as well unexpected behavior of application under test.

5) 要認為你一定找得到bug
- Start testing the application by intend of finding bugs/errors.
- Don’t think beforehand that there will not be any bugs in the application.
- If you test the application by intention of finding bugs you will definitely succeed to find those subtle bugs also.

6) 根據需求分析和設計階段本身來開力測試個案
- This way you can ensure all the requirements are testable.

7) 確認你的測試個案能在RD撰寫程式前就能拿到
- Don’t keep your test cases with you waiting to get final application release for testing, thinking that you can log more bugs.
- Let developers analyze your test cases thoroughly to develop quality application. This will also save the re-work time.

8) 如果可能的話, 確認和分類哪些測試個案可供回歸測試使用
- This will ensure quick and effective manual regression testing.

9) 需要徹底測試, 受測軟體是否有能在適當的時間內反應
- Performance testing is the critical part of many applications.
- In manual testing this is mostly ignored part by testers due to lack of required performance testing large data volume.
- Find out ways to test your application for performance.
- If not possible to create test data manually then write some basic scripts to create test data for performance test or ask developers to write one for you.

10) RD不應該測試他們自己寫的code
- Basic unit testing of developed application should be enough for developers to release the application for testers.
- But you (testers) should not force developers to release the product for testing. Let them take their own time.
- Everyone from lead to manger know when the module/update is released for testing and they can estimate the testing time accordingly.
- This is a typical situation in agile project environment.

11) 應該不只只測試需求上面的東西而已
- Test application for what it is not supposed to do.

12) 在做回歸測試時, 需要根據bug grpah來決定測試方向
- Bug graph - number of bugs found against time for different modules
- This module-wise bug graph can be useful to predict the most probable bug part of the application.

13) 在測試的時候記錄下新的要處理項目和想法
- Keep a text file open while testing an application.
- Note down the testing progress, observations in it.
- Use these notepad observations while preparing final test release report.
- This good habit will help you to provide the complete unambiguous test report and release details.

14) 有時候你會因為特需需求而對受測軟體做修改
- This is required step in development or testing environment to avoid execution of live transaction processing like in banking projects.
- Note down all such code changes done for testing purpose and at the time of final release make sure you have removed all these changes from final client side deployment file resources.

15) 讓RD 遠離測試環境
- This is required step to detect any configuration changes missing in release or deployment document.
- Some times developers do some system or application configuration changes but forget to mention those in deployment steps.
- If developers don’t have access to testing environment they will not do any such changes accidentally on test environment and these missing things can be captured at the right place.

16) 讓QA在需求和設計階段時加入, 是非常有幫助的作法
- These way testers can get knowledge of application dependability resulting in detailed test coverage.
- If you are not being asked to be part of this development cycle then make request to your lead or manager to involve your testing team in all decision making processes or meetings.

17) QA team 需要和組織內其他團隊, 分享好的testing practices和experience

18) 需要多花時間和RD對話, 以去了解你的受測軟體
- Whenever possible make face-to-face communication for resolving disputes quickly and to avoid any misunderstandings.
- But also when you understand the requirement or resolve any dispute - make sure to communicate the same over written communication ways like emails.
- Do not keep any thing verbal.

19) 不要用完的所有時間只做high priority testing tasks.
- Prioritize your testing work from high to low priority and plan your work accordingly.
- Analyze all associated risks to prioritize your work.

20) 要能撰寫簡潔, 描述清楚的, 讓人不會搞混的Bug Report
- Do not only provide the bug symptoms but also provide the effect of the bug and all possible solutions.

不要忘記, 測試是一個非常creative 和 challenging的工作. 當你在處理這樣的挑戰時, 你的經驗和技術非常有關係的.

arrow
arrow
    全站熱搜

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