软件测试学习(一)

本文探讨了软件的分类,包括系统软件、应用软件和开源软件,介绍了软件缺陷的来源和概念,并详细阐述了软件测试的定义、目的和与调试的区别,强调了正向和反向思维在测试中的应用。
摘要由CSDN通过智能技术生成

一、软件

软件:程序、数据、文档

软件分类:

(1)按层次划分:系统软件(与硬件最密切)、应用软件

(2)按照组织划分:商业软件、开源软件

(3)按结构划分:单机软件和分布式软件

二、软件缺陷

软件缺陷的由来

【bug】找出电脑程序第一个bug的女程序员Grace Hopper

【Defect】

概念:软件未实现产品说明书要求的功能,出现了产品说明书指明不应该出现的功能,软件实现了产品说明书未提到的功能,软件未实现产品说明书虽未明确提及但应该实现的目标

软件难以理解、不易使用、运行缓慢或者(从测试角度看)最终用户会认为不好

所有不满足需求超出需求的都是缺陷

没有不存在的缺陷软件,只有迄今为止尚未发现的缺陷

三、软件测试

计算机起源于1945

软件测试起源于上世纪70年代中期

软件测试的定义和目的:

定义:

使用技术手段验证软件是否满足使用需求

(1)正向思维的定义

出发点:使自己确信产品能够正常工作的评价一个程序和系统的特性或能力,并确定它是否能达到期望结果,软件测试是以此为目的的任何行为。

(2)反向思维的定义

出发点:测试是为发下错误而执行一个程序或者系统的过程。

怀疑一切

测试是为了证明程序有错,而不是证明程序无错误

一个好的测试用例在于发现以前未发现的错误

一个成功的测试是发现了以前未发现的错误的测试

(3)IEEE定义的软件测试

IEEE:国际电子电气工程师协会

在规定条件下运行系统或构件过程:观察和记录结果,并对系统或构建的某些方面给出评价,

分析软件项目过程:检测现有状况和所需状况之间的不同,并评估软件项目的特性

(4)广义软件测试的定义

对软件形成过程所有的工作产品(包括程序以及相关文档)进行测试,而不仅仅是对程序的运行进行测试

确认(Validation):证实功能是否被实现

验证(Verification):证实指定的需求是否满足

目的:
1.以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,保证各种错误和缺陷得以修复,避免软件发布后由于潜在的的软件错误和缺陷造成的隐患带来的商业风险
2.同时利用测试过程中得到的测试结果和测试信息,作为后续项目开发和测试过程改进的重要输入,避免在将来的项目开发和测试中重复同样的错误
3.采用更加高效的测试管理手段,提高软件效率和软件产品质量

四、测试和调试

区别:

测试调试
主体测试人员开发
目标找bug将错误修改正确
方法等价类、边界值…程序和逻辑算法
思路反向思维正向思维

测试是从已知条件开始,使用预先定义的过程,并且有预知结果;
调试是从未知的条件开始,结束的过程可能不可预计。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

樱桃 小丸犊子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值