谷歌如何测试ppt的思考版
谷歌文化:
*Engineering culture
*Fail fast
*20% time
*Project mobility(项目流动性)
谷歌测试原则:
*Quality ≠ Test
1)Quality must be owned by engineering
2)Test must be part of engineering
*Testing won't get done unless it is unavoidable
1)测试是每个人的工作
测试人员的职责是:hiring, promotion, reviews
测试角色的划分:
*SWE(软件工程师):
1)Feature developers
2)code reviews, TDD, unit tests, acceptance tests(验收测试)
3)own quality for every piece of code they touch
*SET
1)Test infrastructure developers
2)code reviews, test frameworks, automation
*TE
1)Test scenario developers
2)risk analysis, end-to-end test scripts, quality management
如下图:
采取的策略:
*Minimum useful product
1)Don't build a large product, start small and grow it
2)Release the moment you have something useful
*发布和迭代
1)Make gathering feedback part of the process
2)不要怕引入风险
3)Fail fast, correct as you go
*发布渠道
1)Canary (daily build)
2)Developer (weekly build)
3)Test (best weekly build) --> Dogfood
4)Beta (latest, most stable test channel build) --> Release
测试的类型:Small tests、Medium tests、Large tests、Enormous tests
*Level 1
•Set up test coverage bundles
•Set up a continuous build
•Classify your tests as Small, Medium, and Large
•Identify nondeterministic tests
•Create a smoke test suite
Level 2
•No releases with red tests
•Require smoke test suite to pass before a submit
•Incremental coverage by all tests >= 50%
•Incremental coverage by small tests >= 10%
•At least one feature tested by an integration test
Level 3
•Require tests for all nontrivial changes
•Incremental coverage by small tests >= 50%
•New significant features are tested by integration tests
Level 4
•Automate running of smoke tests before submitting new code
•Smoke tests should take less than 30 minutes to run
•No nondeterministic tests
•Total test coverage should be at least 40%
•Test coverage from small tests alone should be at least 25%
•All significant features are tested by integration tests
Level 5
•Add a test for each non-trivial bug fix
•Actively use available analysis tools
•Total test coverage should be at least 60%
•Test coverage from small tests alone should be at least 40%
中间提到报的bug可回放,有点意思