正文:(十三)测试之痛1
程序编码工作逐步接近尾声,接踵而来的就是功能测试、模块测试、集成测试、系统测试等。对于系统测试,开发人员大都不愿意去做的,因为这是一项既繁琐、又无成就感的工作。
一套没有经过严格测试的系统,就像一匹没有缰绳的野马,谁也不知道它发飙的时候,会跑到什么地方去。再繁琐的工作也要做,初步的功能测试和模块测试工作自然是由我自己来完成。可我发现个问题,我只要输入一些数据到系统中,开始做测试工作,就会自然地进入到一种自我欣赏系统的状态中,一圈数据测试下来,只能找到少量的程序错误。
Bug大体上可以分为两类,第一类是程序错误,例如:由于数据边际校验不强而引起系统异常死机,程序显示不正确等;第二类是算法错误,即程序中某些数据的计算方法不正确,或数据更新不完整。对于第一类错误,我还好测试些,毕竟出现问题后,一目了然。但对于第二种错误,我根本无法察觉,例如一套产品的最终价格是58,我很难直接判断出这个价格是正确计算结果,还是有问题。但对于有丰富经验的业务员来说,他们是很容易做到的,因为这些价格他们太熟悉了。
考虑到我在测试过程中很难发现第二类错误,所以就和Gentleman商量,看能否找人来协助我做这部分的测试工作。(当时我以为Gentleman的日子过得很潇洒,身在国外,遥控公司,自己则周游列国,好不自在。)而他也没含糊,一口就答应下来,我真是喜出望外。
其实我的想法仅仅是,让他找个心细的业务员来做系统的测试工作,但出乎意料的是,他居然亲自上阵,自己一个人来做测试工作。
程序编码工作逐步接近尾声,接踵而来的就是功能测试、模块测试、集成测试、系统测试等。对于系统测试,开发人员大都不愿意去做的,因为这是一项既繁琐、又无成就感的工作。
一套没有经过严格测试的系统,就像一匹没有缰绳的野马,谁也不知道它发飙的时候,会跑到什么地方去。再繁琐的工作也要做,初步的功能测试和模块测试工作自然是由我自己来完成。可我发现个问题,我只要输入一些数据到系统中,开始做测试工作,就会自然地进入到一种自我欣赏系统的状态中,一圈数据测试下来,只能找到少量的程序错误。
Bug大体上可以分为两类,第一类是程序错误,例如:由于数据边际校验不强而引起系统异常死机,程序显示不正确等;第二类是算法错误,即程序中某些数据的计算方法不正确,或数据更新不完整。对于第一类错误,我还好测试些,毕竟出现问题后,一目了然。但对于第二种错误,我根本无法察觉,例如一套产品的最终价格是58,我很难直接判断出这个价格是正确计算结果,还是有问题。但对于有丰富经验的业务员来说,他们是很容易做到的,因为这些价格他们太熟悉了。
考虑到我在测试过程中很难发现第二类错误,所以就和Gentleman商量,看能否找人来协助我做这部分的测试工作。(当时我以为Gentleman的日子过得很潇洒,身在国外,遥控公司,自己则周游列国,好不自在。)而他也没含糊,一口就答应下来,我真是喜出望外。
其实我的想法仅仅是,让他找个心细的业务员来做系统的测试工作,但出乎意料的是,他居然亲自上阵,自己一个人来做测试工作。