1 测试的原则
1.1 完全测试程序是不可能的
主要有如下4个原因:
输入量太大
计算器程序:1+0=,1+1=,1+2=……..1+n=?之后还有1+1.1,1+1.2….;还有1+a,1+z等等,组合无穷无尽,而且这只是加法运算。如果要完全测试这显然是不现实的。
输出结果太多
当然上面的输入量大,导致输出的结果也就多。
软件的实现途径太多
软件说明书没有客观标准。从不同角度看,软件缺陷的标准不同。
1.2 测试是有风险的行为
如不能完全测试,又恐怕漏掉软件缺陷。但完全测试又不可能,这时候我们就需要缩小测试的范围,去粗存精,找到合适的测试量。使测试基本达到要求,使风险降到最低,测试成本也降低。
1.3 测试无法显示潜伏的软件缺陷
回归测试可以很好的解决这个问题
1.4 找到的软件缺陷越多,就说明缺陷越多
在找到一个软件缺陷后,缺陷会接二连三的出现。原因如下:
程序员疲倦。日复一日的重复做同样的工作,是会厌倦。这时候容易松懈下来,注意力不集中,从而导致问题的出现。
编程习惯。一些程序员爱用自己的命名规则,不遵守约定。
小螺丝毁飞机,道理很简单,一个很小的细节,最终可能会导致很严重的后果。
1.5 软件缺陷免疫
陈旧的测试方法,使得程序员会注意到以前遇到过的问题,但这不能说明程序员不会犯错误拉。所以,我们要不断的推陈出新,新的想法,新的用例来对程序进行测试,找出新的缺陷。
1.6 并非所有软件缺陷都能修复
不需要修复软件缺陷的原因如下:
没有足够的时间。任务重,时间紧。
不算真正的软件缺陷。错误的理解,个人的看法会认为某些功能和局部是软件缺陷,但事实上不是。
修复的风险太大。连锁反应
不值得修复。不常出现的软件缺陷和在不常用功能中出现的软件缺陷可以放过;可以躲过和用户有办法预防或避免的软件缺陷通常不用修复。
是否修复软件缺陷,这是个认真考虑,研究的问题。错误的决策导致的后果不堪设想。
1.7 产品说明书不断变化
1.8 难以说清的软件缺陷
1.9 不受欢迎的软件测试员
学会与人沟通,注意说话技巧,处理事情把握分寸。
1.10 软件测试是一项讲究条理的技术专业
2 软件测试术语和定义
2.1 精确和准确
2.2 验证和合法性检查
验证是保证软件符合产品说明书的过程;
合法性检查是保证软件满足用户要求的过程。
2.3 质量和可靠性
质量是指产品功能是否齐全,是否能正常运行。
2.4 测试和质量保证
软件质量保证(Software Quality Assurance):SQA介入于整个软件开发过程------监督和改进过程,确认达成的标准和过程被正确的遵循,保证问题被发现和解决,以预防为主。
软件测试(Software Testing):软件测试是在一定控制的条件下,围绕一个系统或应用的操作并且评价其结果(在程序A上运行数据B应当出现结果C),控制的条件应当包括正常和异常的调教。测试企图使事情变得很糟糕,从而来检测出一些应当发生而没有发生,或者不应当发生而发生的事情,以检测为主。
***如何安排QA和测试的任务,不同的组织变化是很大的。有时它们有一个组或个人来负责,共同的是一个项目组混合了测试人员和开发人员,并且他们一起紧密的工作,而QA过程有项目经理来监督。所有这些是同组织的大小和商业结构有关的。
1.1 完全测试程序是不可能的
主要有如下4个原因:
输入量太大
计算器程序:1+0=,1+1=,1+2=……..1+n=?之后还有1+1.1,1+1.2….;还有1+a,1+z等等,组合无穷无尽,而且这只是加法运算。如果要完全测试这显然是不现实的。
输出结果太多
当然上面的输入量大,导致输出的结果也就多。
软件的实现途径太多
软件说明书没有客观标准。从不同角度看,软件缺陷的标准不同。
1.2 测试是有风险的行为
如不能完全测试,又恐怕漏掉软件缺陷。但完全测试又不可能,这时候我们就需要缩小测试的范围,去粗存精,找到合适的测试量。使测试基本达到要求,使风险降到最低,测试成本也降低。
1.3 测试无法显示潜伏的软件缺陷
回归测试可以很好的解决这个问题
1.4 找到的软件缺陷越多,就说明缺陷越多
在找到一个软件缺陷后,缺陷会接二连三的出现。原因如下:
程序员疲倦。日复一日的重复做同样的工作,是会厌倦。这时候容易松懈下来,注意力不集中,从而导致问题的出现。
编程习惯。一些程序员爱用自己的命名规则,不遵守约定。
小螺丝毁飞机,道理很简单,一个很小的细节,最终可能会导致很严重的后果。
1.5 软件缺陷免疫
陈旧的测试方法,使得程序员会注意到以前遇到过的问题,但这不能说明程序员不会犯错误拉。所以,我们要不断的推陈出新,新的想法,新的用例来对程序进行测试,找出新的缺陷。
1.6 并非所有软件缺陷都能修复
不需要修复软件缺陷的原因如下:
没有足够的时间。任务重,时间紧。
不算真正的软件缺陷。错误的理解,个人的看法会认为某些功能和局部是软件缺陷,但事实上不是。
修复的风险太大。连锁反应
不值得修复。不常出现的软件缺陷和在不常用功能中出现的软件缺陷可以放过;可以躲过和用户有办法预防或避免的软件缺陷通常不用修复。
是否修复软件缺陷,这是个认真考虑,研究的问题。错误的决策导致的后果不堪设想。
1.7 产品说明书不断变化
1.8 难以说清的软件缺陷
1.9 不受欢迎的软件测试员
学会与人沟通,注意说话技巧,处理事情把握分寸。
1.10 软件测试是一项讲究条理的技术专业
2 软件测试术语和定义
2.1 精确和准确
2.2 验证和合法性检查
验证是保证软件符合产品说明书的过程;
合法性检查是保证软件满足用户要求的过程。
2.3 质量和可靠性
质量是指产品功能是否齐全,是否能正常运行。
2.4 测试和质量保证
软件质量保证(Software Quality Assurance):SQA介入于整个软件开发过程------监督和改进过程,确认达成的标准和过程被正确的遵循,保证问题被发现和解决,以预防为主。
软件测试(Software Testing):软件测试是在一定控制的条件下,围绕一个系统或应用的操作并且评价其结果(在程序A上运行数据B应当出现结果C),控制的条件应当包括正常和异常的调教。测试企图使事情变得很糟糕,从而来检测出一些应当发生而没有发生,或者不应当发生而发生的事情,以检测为主。
***如何安排QA和测试的任务,不同的组织变化是很大的。有时它们有一个组或个人来负责,共同的是一个项目组混合了测试人员和开发人员,并且他们一起紧密的工作,而QA过程有项目经理来监督。所有这些是同组织的大小和商业结构有关的。