在上节课中,老师讲到了有关软件缺陷的分析。首先,
软件缺陷可以分为:
1.输入/输出缺陷
2.逻辑缺陷
3.计算缺陷
4.接口缺陷
5.数据缺陷
1.疏忽造成的错误(Carelessness defect)
2.不理解造成的错误(Misapprehend defect)
3.二义性造成的错误(Ambiguity defect)
4.遗漏造成的错误(Skip defect)
(摘自课件)
以上是比较概括的分类方式。
软件缺陷在我们的日常生活中经常出现,比如某软件的PC客户端界面设计不合理,某app使用过程中会莫名闪退……
这些都属于软件缺陷,且比较直观可见。
软件的种种缺陷只有在测试人员不断测试以及用户多次使用后才能不断地发现和完善。
所以现在大部分软件官网以及下载网站都会设置【用户反馈/用户评分】这一项来收集软件开发人员未发现的缺陷或bug,以便在日后的更新版本中进一步完善。
有些时候开发人员即使发现了缺陷也没有进行完善修复,一方面可能是开发时间有限只能在后续的版本中进行加强,或者是因为某些缺陷并不影响该软件的正常使用,所以可以小小的忽略。
PS:软件缺陷和软件漏洞可以认为是一样的么……?==
白盒测试
白盒测试称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件, 白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。"白盒"法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。(摘自百度百科)
白盒与黑盒对比起来,
白盒好比一个透明的盒子,黑盒是一个不透明的盒子。
白盒了解盒子的内部逻辑构造,并依据此来测试实际情况与预期是否一致;
黑盒并不了解内部构造,所以只能根据与产品说明书来判断软件是否合格。
我在网上找到了一个白盒测试的栗子,文章把栗子分析的非常清晰全面 http://www.uml.org.cn/Test/201205301.asp
看了好久表示……一个再简单的软件也需要非常全面严谨的测试过程。