【软件工程】 软件测试

前言

软件测试的工作人员的技术含量是非常的高的,他不能是编写该程序的程序员,而是比程序员的技术含量还要高的程序的测试人员。

一、思维导图

这里写图片描述

二、根据导图分块介绍

(一)软件测试的内容

软件测试不光是测试我们程序员所编写的软件,还有我们写的文档,程序的接口,运行的环境等!

(二)软件测试的目的

1、软件测试是程序的执行过程,目的在于发现错误
2、好的测试用例是能够发现新的错误
3、一个成功的测试是发现了至今未发现的错误的测试

(三)测试的原则

1、测试前要认定被测试的软件有错,不要认为软件没有错
2、要预先确定被测试软件的测试结果
3、要尽量避免测试自己编写的程序
4、测试要兼顾合理输入与不和理的输入数据
5、测试要以软件需求规格说明书为标准
6、测试是相对的,不能穷尽所有的测试
7、测试用例留作测试报告与以后的反复测试用

(四)测试的方法

1、黑盒测试(数据驱动)

黑盒测试就是不管内部的数据结构,主要测试的就是功能,以数据作为驱动,输入一个数据,同时还会输出一个数据,观察输出的数据是否满则你要的需求!

(1) 等价类划分法:

等价类分为有效等价类和无效等价类
无效等价类和有效等价类相反,无效等价类是指对于软件规格说明而言,没有意义的、不合理的输入数据集合。利用无效等价类,可以找出程序异常说明情况,检查程序的功能和性能的实现是否有不符合规格说明要求的地方。

有效等价类指输入完全满足程序输入的规格说明,有效、有意义的输入数据所构成的集合。利用有效等价类可以检验程序是否满足规格说明所规定的功能和性能。

这里写图片描述

为了更好的理解,我还是举个例子,我们在设计机房收费系统这款软件的时候,登录的时候总是想要去输入单引号,如果在编制程序的时候没有注意防止sql注入,那么就会出现出现错误,但是我们在登录的时候明明输入的是用户名,用户名都是数字类型的,为什么要输入单引号呢,但是输入单引号报错了,这时我们把输入的测试用例称为无效等价类,它成功的测试出了错误,是一个成功的测试用例,而正常输入的数字类型的为有效等价类!

这里写图片描述

(2)边界值法

大家都知道每个国家的边界都是需要管理的,都很容易出乱子,弄不弄这个国家的边境上的人偷着跑去了那个国家,这个国家的人偷着去另一个国家做了点坏事,现实世界是这样,那么我们的计算机得到数据世界也是这样,整不好边界上就爱出乱子,所以在测试软件的时候发明了一种方法叫边界值法!

边界值法是对等价类分析方法的一种补充,由长期的测试工作经验得知,大量的错误是发生在输入或输出的边界上。因此针对各种边界情况设计测试用例,可以查出更多的错误

这里写图片描述

2、白盒测试(逻辑驱动)

对逻辑路径进行测试,所有的关键路径(相互独立的路径)都要测试,白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试工具是对源代码进行的测试,测试的主要内容包括词法分析与语法分析、静态错误分析、动态检测等。但是对于不同的开发语言,测试工具实现的方式和内容差别是较大的。测试工具主要支持的开发语言包括:标准C、C++、Visual C++、Java和Visual J++等。

总结:
黑盒测试与白盒测试都是测试用例的一种方法,其中黑盒测试用的较多,白盒测试的难度比较大,需要测试者有较高的水平,测试者必须熟悉高级语言,白盒测试需要借助专门的测试工具,对程序员编写的代码进行逐个逻辑测试,过程非常繁琐,像单元测试一般都用白盒测试,集成测试一般采用黑盒测试!

(五)测试的步骤

如图,测试的过程如下,单元测试,集成测试,确认测试 ,系统测试

这里写图片描述

1、单元测试(模块测试)

测试的内容:路径、边界、局部数据、模块接口、出错的处理

这里写图片描述

如图所示,由于单元模块都是孤零零的一个模块,我们在设计软件的时候,有很大的时候这个模块的功能是与其它的模块有很大的联系的,如被测的单元模块用到的数据很有可能是它的上一个模块产出的数据,这时候我们就需要辅助模块了,辅助模块分别是桩模块,与驱动模块,桩模块与驱动模块是我们的测试者虚拟出来的。

2、集成测试(组装测试)

实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。一些局部反映不出来的问题,在全局上很可能暴露出来。于是集成测试出来的,它是非长重要的,建立在单元测试之上

3、确认测试(有效性测试)

确认测试是对通过组合测试的软件进行的,这些软件已经存于系统目标设备的介质上。确认测试的目的是要表明软件是可以工作的,并且符合”软件需求说明书”中规定的全部功能和性能要求。确认测试是按照这些要求定出的”确认测试计划”进行的。测试工作由一个独立的组织进行。而且测试要从用户观点出发。

4、系统测试

系统测试是将经过集成测试的软件,作为计算机系统的一个部分,与系统中其他部分结合起来,在实际运行环境下对计算机系统进行的一系列严格有效地测试,以发现软件潜在的问题,保证系统的正常运行。

(六) 调试

软件调试是在进行了成功的测试之后才开始的工作,它与软件测试不同,调试的任务是进一步诊断和改正程序中潜在的错误。测试的分析报告会由此而产生!

  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 34
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值