构建之法阅读笔记06

软件测试部分: 

概念:

对于《软件工程概论》的这门课程,这样规定:
QA: 运用各种手段,在软件工程的各个阶段确保软件的质量能帮助软件团队实现目标。
Test (测试) : 特指验证代码的行为是否符合功能规格说明书(spec) 的规定。
在这样的定义下,Test只是 QA 工作的一部分。
 
对测试工作的种种误解:
1、测试在项目的最后进行就可以了。
当你在项目后期发现了问题,问题的根源往往是项目早期的一些决定和设计。
这时候,再要对其进行修改就比较困难了。
这要求测试人员从项目开始就要积极介入,从源头防止问题的发生。
有人会说,我是一个小小的测试人员,项目开始的时候我能做什么?
这就是小小测试人员努力的方向。
 
2、测试就得根据规格说明书(spec)来测,所以是很机械的。
即使你的软件产品功能100% 符合spec 的要求,但是用户也可能非常恨你的软件。
这时,测试人员就没有尽到责任,因为测试人员要从用户的角度出发,测试软件。
 
3、测试人员当然也写代码,但是质量不一定要很高。
开发人员的代码没写好,可以依赖于测试人员来发现问题。
但是如果测试人员的代码没写好,那么依赖谁来测试和改错呢?
这就要求测试人员的代码质量特别高,因为测试是最后一道防线,
如果代码和测试工作有漏洞,那么Bug就会跑到用户那里去。
 
4、测试只是被动地接受别人的产出,然后开始自己的工作,比较被动,不能发挥创造性。
也许狭义定义下的测试用例是要等开发人员的代码,然后开始测试。
但是整个质量保证工作(QA)需要前瞻性,主动性,创造性的工作。
Weinberg 说过:“也许没有任何一项测试技术比前瞻性更有价值”。

我过去的做法:

测试在项目的最后进行就可以了,只是被动地接受别人的产出,

然后开始自己的工作,比较被动,不能发挥创造性。

认为软件的测试是最容易的工作。

今后的做法:
正确对待“测试”环节。了解如何测试。
posted @ 2018-01-06 16:40  什么名都不好  阅读(86)  评论(0编辑  收藏  举报