单机版软件如何进行性能测试,主要可以从哪些方面去考虑?

单机版软件如何进行性能测试,主要可以从哪些方面去考虑?,第1张

主要就是功能和性能穗指呗

界面测试、安装卸载测试、可用性测试、安全测试等

应用功能测试——客户端应用被独立地执行,以揭示在其运行中的错误

服务器测试——测试服务器的协调和数据管理功能,也考虑服务器性能(整体反映时间和数据吞吐量)。宏禅

数据库测试——测试服务器存储的数据的精确性和完整性,检查客户端应用提交的事务,以保证数据被正确地存储、更新和检索。

事务测试——创建一系列的测试以保证每类事务被按照需求处理。测猜绝配试着重于处理的正确性,也关注性能问题。

网络通信测试——这些测试验证网络节点间的通信正常地发生,并且消息传递、事务和相关的网络交通无错的发生。

按测试技术,软件测试可分为:黑盒测试、白盒测试、灰盒测试

黑盒测试:在程序接口进行测试,它只是检查程序功能是否按照规格说明书的规定正常使用。也被称为功能测试或者数据驱动测试。

白盒测试:要完全了解程序结构和处理过程,它按照程序内部逻辑测试程序,检验程序中每条通路是否按预定要求正确工作。也被称为结构测试或逻辑驱动测试。

灰盒测试:介于黑盒测试与白盒测试之间的测试,既要像黑盒测试那样关注输出对于输入的正确性,同时也关注内容表现,但这种关注不像白盒测试那样详细、完整,只是通过一些表征性的现象、事件、标志判断内部的运行状态。

按测试方式,软件测试可分为:静态测试、动态测试

静态测试:是指不运行程序,对程序和文档进行分析与检查静态测试技术又称为静态分析技术。

动态测试:通过运行程序进行检查、分析程序的执猛做行状态和程序逻辑的外部表现。

按测试阶段,软件测试可分为:单元测试、集成测试、系统测试、验收测试

单元测试:单元测试是对软件设计的最小单元——模块,进行正确性启扮检验的测试工作。

目的:主要是测试模块在语法、格式和逻辑上的错误。

集成测试:集成测试也称为组装测试,集成测试按设计要求把通过单元测试的各个模块组装在一起之后所进行的测试。

目的:检查模块间的接口关系,以便发现与接口有关的各种错误

系统测试:系统测试是将已经集悄知灶成好的软件系统置于实际运行环境中所进行的测试。

目的:根据需求分析时确定的标准检验软件是否满足功能、行为、性能和系统协调性等方面的要求。

单元测试的对象是软件设计的最小单位——模块。单元测试的依据是详细设描述,单元测试应对模块内所有重要的控制路径设计测试用例,以便发现模块内部的错误。单元测试多采用白盒测试技术,系统内多个模块可以并行地进行测试。

单元测试任务

单元测试任务包括:1 模块接口测试;2 模块局部数据结构测试;3 模块边界条件测试;4 模块中所有独立执行通路测试;5 模块的各条错误处理通路测试。

模块接口测试是单元测试的基础。只有在数据能正确流入、流出模块的前提下,其他测试才有意义。测试接口正确与否应该考虑下列因素:

1 输入的实际参数与形式参数的个数是否相同;

2 输入的实际参数与形式参数的属性是否匹配;

3 输入的实际参数与形式参数的量纲是否一致;

4 调用其他模块时所给实际参数的个数是否与被调模块的形参个数相同;

5 调用其他模块时所给实际参毕键数的属性是否与被调模块的形参属性匹配;

6调用其他模块时所给实际参数的量纲是否与被调模块的形参量纲一致;

7 调用预定义函数时所用参数的个数、属性和次序是否正确;

8 是否存在与当前入口点无关的参数引用;

9 是否修改了只读型参数;

10 对全程变量的定义各模块是否一致;

11是否把某些约束作为参数传递。

如果模块内包括外部输入输出,还应该考虑下列因素:

1 文件属性是否正确;

2 OPEN/CLOSE语句是否正确;

3 格式说明与输入输出语句是否匹配;

4缓冲区大小与记录长度是否匹配;

5文件使用前是否已经打开;

6是否处理了文件尾;

7是否处理了输入/输出错误;

8输出信息中是否有文字性错误;

检查局部数据结构是为了保证临时存储在模块内的数据在程序执行过程中完整、正确。局部数据结构往往是错误的根源,应仔细设计测试用例,力求发现下面几类错误:

1 不合适或不相容的类型说明;

2变量无初值;

3变量初始化或省缺值有错;

4不正确的变量名(拼错或不正确地截断);

5出现上溢、下溢和地址异常。

除了局部数据结构外,如果可能,单元测试时还应该查清全局数据(例如FORTRAN的公用区)对模块的影响。

在模块中应对每一条独立执行路径进行测试,单元测试的基本任务是保证模块中每条语句至少执行一次。此时设计测试用例是为了发现因错误计算、不正确的比较和不适当的控制流造成的错误。此时基本路径测试和循环测试是最常用且最有效的测试技术。计算中常见的错误包括:

1 误解或用错了算符优先级;

2混合类型运算;

3变量初值错;

4精度不够;

5表达式符号错。

比较判断与控制流常常紧密相关,测试用例还应致力于发现下列错误:

1不同数据类型的对象之间进行比较;

2错误地使用逻辑运算符或优先级;

3因计算机表示的局限性,期望理论上相等而实际上不相等的两个量相等;

4比较运算或变量出错;

5循环终止条件或不可能出现;

6迭代发散时不能退出;

7错误地修改了循环变量。

一个好的设计应能预见各种出错条件,并预设各种出错处理通路,出错处理通路同样需要认真测试,测试应着重检查下列问题:

1输出的出错信息难以理解;

2记录的错误与实际遇到的错误不相符;

3在程序自定义的出错处理段运行之前,系统已介入;

4异常处理不当;

5错误陈述中未能提供足够的定位出错信息。

边界条件测试是单元测试中最后,也是最重要的一项任务。众的周知,软件经常在边界上失效,采用边界值分析技术,针对边界值及其左、右设计测试用例,很有可能发现新的错误。

单元手毕巧测试过程

一般认为单元测试应紧接在编码之后,当源程序编制完成并通过复审和编译检查,便可开始单元测试。测试用例的设计应与复审工作相结合,根据设计信息选取测试数据,将增大发现上述各类错误的可能性。在确定测试用例的同时,应给出期望结果。

应为测试模块开发一个驱动模块(driver)和(或)若干个桩模块(stub),下图显示了一般单元测试的环境。驱动模块在大多数场合称为“主程序”,它接收测试数据并将这些数据传递到被测试模块,被测试模块被调用后,“主程序”打印“进入-退出”消息。

驱动模块和桩模块是测试使用的软件,而不是软件产品的组成部分,但它需要一定的开发费用。若驱动和桩模块比较简单,实际开销相对低些。遗憾的是,仅用简单的驱动模块和桩模块不能完成某些数橡模块的测试任务,这些模块的单元测试只能采用下面讨论的综合测试方法。

提高模块的内聚度可简化单元测试,如果每个模块只能完成一个,所需测试用例数目将显著减少,模块中的错误也更容易发现。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/12445094.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存