软件测试
《构建之法》的第13章讲的是软件测试,测试就是为了找出Bug并且修改。Bug又可以分解为:症状(Symptom)、程序错误(Fault)、根本原因(Root Cause)。测试方法也有很多,按测试设计的方法分类:黑箱(Black Box)和白箱(White Box),按测试的目的分类:功能测试和非功能测试,按测试的时机和作用分类:冒烟测试和随机进行的、探索性的测试等等。具体的测试方法有单元测试(Unit Test)、代码覆盖率测试(Code Coverage Analysis)、构建验证测试(Build Verification Test,BVT)、验收测试(Acceptance Test)、探索式测试(Ad hoc Test)、回归测试(Regression Test)、场景/集成/系统测试(Scenario/Integration/System Test)、伙伴测试(Buddy Test)、效能测试(Performance Test)、压力测试(Stress Test)、内部/外部公开测试(Alpha/Beta Test)、易用性测试(Usability Test)和“小强”大扫荡(Bug Bash)。
学习C++、Java等语言时,做的程序比较小,测试也就是运行一下,只是看看程序是否正确、结果是否符合要求什么的,测试用例也都是随机选取的,没有什么测试方法之说。测试不通过,就看程序哪儿出了问题就改哪儿。没有写过什么记录错误的测试文档,也没有交流过测试经验,就是同学之间互相帮助修改程序。
由书看来,原来我所写的程序运行通过了,并不一定代表程序就是成功的。因为测试方法与测试用例的选取也是很重要的,这关系到程序的成败,而且大的软件更是如此,更要进行单元测试。运用正确的、系统的测试方法,不仅能够帮助程序员修改程序中错误,还能提高程序的综合性能。
以后在写程序时,注意进行单元测试以及测试用例的使用,时刻提醒自己运用合适的测试方法,测试自己的程序。