软件测试的艺术笔记(一)

chapter1:一次自评价测试:

【1】软件测试,就是一个过程或一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作。软件为可预测且稳定的。

【2】测试用例应具备一些特征,尽可能涵盖多的情况,找出更多的错误,但不可能查找出所有可能的错误。

chapter2:软件测试的心理学和经济学

【1】从心理学角度看,测试人员倾向于去测试验证软件的是能正常完成其预定的功能,相反,应该在一开始就假设程序中隐藏着错误,然后测试程序去发现尽可能多的错误。

“测试时为了发现错误而执行程序的过程”

2经济性:在进行测试前应建立某些策略,最普遍的策略是黑盒测试和白盒测试。

黑盒测试:穷举输入测试。将程序看成一个黑盒子,穷举所有的输入条件作为测试用例。

白盒测试:穷举路径测试。检查程序的内部结构,对程序的逻辑结构进行检查,从中获取测试数据。

【3】软件测试的原则:主要包含两个点,一是检查程序是否未做其应该做的;二是检查程序是否做了其不应该做的;软件测试是为了发现错误;避免自己测试自己的程序;好的测试用例能够对未发现的错误高度敏感。

chapter3 代码检查、走查与评审

【1】代码检查、走查及可用性测试时三种主要的人工测试方法。人工方法和基于计算机的测试是互补的。

【2】代码检查:组成一个检查小组,为代码检查分发材料,记录错误列表。小组对程序逐句进行检查,包括数据引用错误,运算错误等所有的错误,并记录下来之后修改。

【3】代码走查:和【2】一样形成一个检查小组,不同的是其由一个成员在大脑中对程序的逻辑进行运算一遍,并用一些已在脑海中运算过的测试用例去使用程序运行,监督各变量值,与之比对,在这个过程中小组会发现问题并记录。此适用于比较简单的程序,因为大数量的数据在大脑的计算远不及计算机高效。

【4】桌面检查:由一个人阅读程序,对照错位列表检查程序,对程序推演测试数据。

【5】同行评审:依据程序整体质量、可维护性、可拓展性、易用性和清晰性对匿名程序进行评价的技术。多名程序员随意交换自己的程序,匿名对程序进行打分,有助于提高程序的开发。

【总结】前三章可知程序测试远比最初想象的复杂和繁琐,并不是单单地用一些测试用例去测试程序即可,其需要考虑种种可能的情况,并设计良好的测试用例来帮助发现程序中更多的测试,从而完善程序。

你可能感兴趣的:(程序测试)