- #99
- #98
- #97
- #96
- #95
- #94
- #93
- #92
- #91
- #90
- #89
- #88
- #87
- #86
- #85
- #84
- #83
- #82
- #81
- #80
- #79
- #78
- #77
- #76
- #75
- #74
- #73
- #72
- #71
- #70
- #69
- #68
- #67
- #66
- #65
- #64
- #63
- #62
- #61
- #60
为什么要替软件进行测试?
写测试是一件好事对吧?可以自动的验证程序的行为,确保程序的正确性,这样就不用每次都要手动测试了。
这是我最初的想法,然后就一头栽进去写很多测试,花大把的时间替每个功能都加上测试,然后发现……没发挥什么作用。
⚠ 测试只在被执行时才有价值
一个程序的价值体现在它被执行使用的时候,而一段测试的价值也体现在它验证了程序的某个行为的正确性;就算程序架构得再烂但因为可以运作所以持续的产出价值,同理一段测试再完美但因为没有验证到任何行为所以是没有价值的。
我犯下最大的错就是单纯写了很多测试但没有积极的去执行。让测试尽量跑起来,验证程序的行为就是测试的价值所在,成功的测试带给你信心,错误的测试替你抓 BUG。
这里的信心是指确定程序如预期般的行动,你会更有自信的去架构代码并确保改动不会对被验证过的的行为造成影响。将测试导入开发流程的重要性不亚于测试本身,不会动的测试就是单纯的案例文件,有人没事会去看不常用且没有约束力的规格文件吗?没有!
- #59
- #58
- #57
- #56
- #55
- #54
- #53
- #52
- #51
- #50
- #49
- #48
- #47
- #46
- #45
- #44
- #43
- #42
- #41
- #40
- #39
- #38
- #37
- #36
- #35
- #34
- #33
- #32
- #31
- #30
- #29
- #28
- #27
- #26
- #25
- #24
- #23
- #22
- #21
- #20
- #19
- #18
- #17
- #16
- #15
- #14
- #13
- #12
- #11
- #10
- #9
- #8
- #7
- #6
- #5
- #4
- #3
- #2
- #1