Scripting
- Do Not Use Record & Play in Real Projects
- Do Not Use Pauses
- Provide Exit by Timeout for Loops
- Do Not Consider Test Automation as Full-Fledged Development
- Do Not Write Bulky Code
- Verify All Options of Logical Conditions
- Use Coding Standards
- Use Static Code Analyzers
- Add an Element of Randomness to Scripts
- Do Not Perform Blind Clicks Against Nonstandard Controls
- Learn and Use Standard Libraries
- Avoid Copy and Paste
- Do Not Use try…catch with an Empty catch Block
- Separate Code from Data
- Learn How to Debug
- Do Not Write Code for the Future
- Leave the Code Better Than It Was
- Choose a Proper Language for GUI Tests
- Remember to Declare and Initialize Variables
Testing
- Do Not Duplicate Tested Application Functionality in the Scripts
- Each Test Should Be Independent
- What Should Not Be Automated?
- Ask the Developers for Help
- Cloud Testing
- Introduce Automation for Corner Cases
- The Difference Between Error and Warning
- Use the Appropriate Methodologies
- Verification of Individual Bugs
- Make a Pilot Project Before Writing Real Tests
Environment
- Choose a Proper Set of Tools for Your Needs
- Do Not Automatically Register Bugs from Scripts
- Do Not Chase After a “Green Build” in the Prejudice of Quality
- Learn the Tool You Work With
- Make Use of Version Control Systems
- Avoid Custom Forms
- Simplify Everything You Can
- Automate Any Routine
Running,Logging,Verifying
- Run Scripts as Often as Possible
- Perform an Automatic Restart of Failed Tests
- A Disabled Test Should Be Provided with a Comment
- Errors in Logs Should Be Informative
- Make a Screenshot in Case of Error
- Check the Accuracy of Tests Before Adding Them to the Regular Run
- Avoid Comparing Images
Reviewing
- Write Tests That Even Non-Automation Engineers Can Understand
- Avoid Unneeded Optimization
- Review Someone Else’s Code Regularly
- Participate in Forums and Discussions
- Perform Refactoring
- Remove Tests That Provide Minimal Benefit
No comments:
Post a Comment