含测试点|浅谈软件测试之静态测试
小编提示:本文含静态测试主要检查点,纯干货,看官们可先收藏后阅读。
从是否执行被测试软件来进行分类,测试可以分为静态测试和动态测试。软件本身包含了各种代码,如果只是检查代码和文档,而不执行被测试的软件,此时所进行的就是静态测试。反之,如果在测试过程中执行被测试的软件,则所进行的就是动态测试。本文从什么事静态测试、为什么进行静态测试以及如何进行静态测试三个方面进行讲解,和大家分享下个人对于静态测试的一些经验总结。
01/ 什么是静态测试?
静态测试是指无须执行被测代码,而是借助专用的软件测试工具评审软件文档或程序,度量
程序静态复杂度,检查软件是否符合编程标准,借以发现编写的程序的不足之处,减少错误出现的概率。
02/ 为什么要进行静态测试?
静态分析潜在收益是很高的: 在软件开发生命周期中,越是后来发现的缺陷,其去除成本呈指数上涨,所以缺陷越早发现越好。静态分析是所有测试中可以最先发现缺陷的方法,极大的降低了软件的修复成本。
对软件经理,静态分析有助于:
1) 减少部署后存在错误的风险,去除此时发现的错误是非常昂贵的;
2) 缩短产品上市时间;
3) 减少代码审查和测试的成本和时间;
4) 自动化(部分)审查,没有或多个有限的人工检查;
5) 消除明显的错误以便改善测试的速度和重点;
6) 提高代码质量(坚持编码标准);
7) 实现更高的覆盖率(更多的代码检查):与测试覆盖率相关但并不完全一样,因为重点不同。
对软件开发人员,静态分析有助于:
1) 提早找到/阻止错误(在错误变得很难处理之前):工具可用作开发周期的一部分,像编译器;更直接,明显的反馈。
2) 发现/阻止“难以测试”的错误:例如,静态分析善于检测潜在的内存泄露和缓冲区溢出,从而使开发人员更高效,花费更少的时间调试。
03/ 如何进行静态测试?
从概念中我们可以知道,静态测试包括对代码测试、界面测试和文档测试三个方面:
1) 对于代码测试,主要测试代码是否符合相应的标准和规范。
2) 对于界面测试,主要测试软件的实际界面与需求中的说明是否相符。
3) 对于文档测试,主要测试用户手册和需求说明是否符合用户的实际需求。
静态测试主要检查点:见表1
下面分别从代码、界面、文档三个方面进行详细说明每一部分应该如何进行测试。
1) 界面测试:见表2
主要从联机功能、接口测试、报表测试和批量测试几个方面进行阐述。
1) 文档测试
主要是需求文档与实际设计和实现是否相符,可以根据界面测试中的点进行测试。
2) 代码测试
程序代码的静态测试要复杂得多,需要我们按照相应的代码规范模板来逐行检查程序代码。
对代码的检查我们推荐使用现有的工具进行。那么我们从哪里获得这个规范模板呢?其实没有一个统一的标准,每个公司内部一般都有自己的编码规范,比如《c/c++编码规范》,你只需要按照上面的条目逐条测试就可以了。
这段C语言编写的小程序,比较简单,实现的功能为:在主函数里输入两个单精度的数a和b,
然后调用max子函数来求a和b中的大数,最后将大数输出。我们现在就对代码进行静态分析,主要根据一些C语言的基础知识来检查。
我们把问题分为两种,一种必须修改的,另一种建议修改的。
必须修改的问题有三个:
1) 程序没有注释。
注释是程序中非常重要的组成部分,一般占到总行数的1/4左右。程序开发出来不仅是给程序员看,其他程序员和测试人员也要看。有了注释,别人就能很快地了解程序实
现的功能。注释应该包含作者,版本号、创建日期等,以及主要功能模块的含义。
2) 子函数 max 没有返回值的类型。
由于类型为单精度,我们可以在max()前面加一个float类型声明。
3) 精度丢失问题。
大家注意“c=max(a,b)”语句,我们知道c的类型为整型int ,而max(a,b)的返回值z为单精度float, 将单精度的数赋值给一个整型的数,c语言的编译器会自动地进行类型转换,将小数部分去掉,比如z=2.5,赋给c则为2,最后输出的结果就不是a和b 中的大
数,而是大数的整数部分。
建议修改的问题也有三个;
1) Main 函数没有返回值类型和参数列表。
虽然main函数没有返回值和参数,但是我们将其改为void main(void),来表明main函数的返回值和参数都为空,因为在有的白盒测试工具的编码规范中,如果不写void会认为是个错误。
2) 一行代码只定义一个变量。
3) 程序适当加些空行。 空行不占内存,会使程序看起来更清晰。
04/ 总结
软件测试技术是一门很深的学问,需要测试人员不断去摸索总结,本文只是我对于静态测试的一些看法与总结,希望能够给大家带来帮助。(文/毕东格)
恒生开发者社区(bbs.hscloud.cn)- 恒生电子面向所有开发者提供服务分享、技术交流和互联共通等一站式服务平台。
来源:恒生开发者社区恒生技术专栏
威尔高取得FBC线路板静态弯折力检测装置专利,封闭式检测避免线路板碎屑飞出伤人
金融界2023年12月2日消息,据国家知识产权局公告,江西威尔高电子股份有限公司取得一项名为“一种FBC线路板的静态弯折力检测装置”的专利,授权公告号CN114527012B,申请日期为2022年3月。
专利摘要显示,本发明涉及一种弯折力检测装置,尤其涉及一种FBC线路板的静态弯折力检测装置。本发明提供一种封闭式检测的FBC线路板的静态弯折力检测装置。一种FBC线路板的静态弯折力检测装置,包括有安装外壳、显示板、放置板架、下压机构和检测机构;安装外壳前部上侧设有显示板,显示板与控制模块通过电性连接,安装外壳内设有放置板架,放置板架与安装外壳之间设有下压机构,下压机构上设有检测机构。本发明通过人们将线路板放置在放置板架上,随后人们启动气缸,使得测量尺和检测器向下移动进行检测,由于是在安装外壳内进行检测,从而避免了线路板碎屑飞出伤害人体。
本文源自金融界
相关问答
什么是 静态 测试和动态测试?对这两者的概念不是特别的明确,希...[最佳回答]静态测试是指测试不运行的部分——只是检查和审核;动态测试是指通常意义上的测试——使用和运行软件.最好的一个类比是检查二手汽车的过程.踢一下...
什么是线路 静态检测 ,?静态检查指在没有车轮荷载作用时,用人工或轻型测量小车对线路进行的检查。主要包括轨距、水平、前后高低、方向、空吊板、钢轨接头、防爬设备、联结零件、轨枕...
gps做 静态 如何 检测 ?1、找到导线点。2、架好三角架。3、调置模式(静态观测)。4、安置基头。5、对准观测点。6、调平水准管。7、用卷尺量好仪高。8、记录基头型号和代码...
传感器的 静态 特性的用途?传感器的静态特性是通过各静态性能指标来表示的,它是衡量传感器静态性能优劣的重要依据。静态特性是传感器使用的重要依据,传感器的出厂说明书中一般都列有其...
放大电路的 静态 测试和动态测试的区别如题_作业帮[最佳回答]1放大电路良好工作的基础是设置正确的静态工作点.因此静态测试应该是指放大电路静态偏置的设置是否正确,以保证放大电路达到最优性能.2放大电路的...
静态 采样是?就是静止状态进行采样工作。扩展知识如下:静态:就是指被检测对象加载后静止不动,主要是测试材料的强度是否达标;动态:一般情况是要求结构在动作运行过程中...
电机 静态 识别和动态识别步骤?一般判断直流电机的性能好坏,通过两个检测方法来检测:静态检测和动态检测。一、静态检测:1、需要兆欧表测量绝缘电阻(电枢与励磁之间;电机、励磁...一般判...
静态 测试和动态测试区别?静态测试指的是以静态的方式进行测试,也就是说是以固定的形态来对其进行测试。静态测试很常见,一般情况下都把产品保持在一个固定不变的状态来进行测试。动...
描述测试装置的 静态 特性主要有哪些参数?测量装置的静态特性是指在静态测量情况下描述实际测量装置与理想时不变线性系统的接近程度,它包括:线性度、灵敏度、回程误差、分辨力、零点漂移和灵敏度漂移...
车辆 静态 年审是什么?在以往的年检中,有两套标准,一套叫做安全技术检验,其实就是静态检测,主要看得是车辆外观有没有非法改装,是否私自加装了运动包围,是否更改了空气滤清器等等...