问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

单元测试主要的测试技术不包括

发布网友 发布时间:2022-10-13 20:44

我来回答

1个回答

热心网友 时间:2023-11-12 13:08

1、单元测试的基本方法

单元测试的基本方法有:人工静态分析、自动静态分析、自动动态测试,人工动态测试。

人工静态分析:通过人工阅读代码来查找错误,一般是程序员交叉查看对方的代码,可能发现有特征错误和无特征错误。

自动静态分析:使用工具扫描代码,根据某些预先设定的错误特征,发现并报告代码中的可能错误,自动静态分析只能发现语法特征错误。

自动动态测试:使用工具自动生成测试用例并执行被测试程序,通过捕捉某些行为特征(如产生异常/程序崩溃等)来发现并报告错误,自动动态测试只能发现行为特征错误,对无特征错误完全*为力,例如,前面所说的加法函数,代码可以说是最简单的,错误也是最简单的,但是自动动态测试仍然无法发现,因为测试工具不可能自动了解代码的功能。

人工动态测试:人工设定程序的输入和预期的正确输出,执行程序,并判断实际输出是否符合预期,如果不符合预期,自动报告错误。这里所说的"人工",仅指测试用例的输入和预期输出是人工设定的,其他工作可以由人工完成,也可以借助工具自动完成。人工动态测试可以发现有特征错误和无特征错误,例如,前面所说的加法函数,只要人工建立一个测试用例,输入两个1,并判断输出是否等于2,运行测试,就可以发现代码中含有错误。

以上四种方法还可以进一步细分,例如,人工动态测试又有多种设计测试用例的方法,如果根据程序的功能来设计测试用例,就是黑盒测试,如果根据代码及代码的逻辑结构来设计测试用例,就是白盒测试。

2、测试方法的选择

工作中是不是把各种测试方法不分轻重都做一遍呢?显然不行,项目工期和预算不会允许这么做,也不符合效益原则,应该选择一种方法作为主要测试方法,其他视情况取舍。

自动静态分析、自动动态测试只能发现有特征错误,这两种方法加起来,做到最好也仅限于发现有特征错误,而多数语法特征错误编译器就能发现,很多行为特征错误会在开发过 程中,或集成测试和系统测试中自动暴露出来,所以这两种方法不宜作为主要测试方法。

人工静态分析虽然可能发现有特征错误和无特征错误,但是要彻底找出所有错误来,显然太难了。

人工动态测试可以发现有特征错误和无特征错误,并且具有广阔的发挥空间,可以作为主要测试方法。

3、黑盒测试与白盒测试

常常见到"单元测试是白盒测试","单元测试也有黑盒"之类的说法,容易引起混乱。黑盒与白盒其实是测试方法,黑盒就是针对系统的外部特性进行测试,把目标系统看作一个黑盒子,不考虑内部结构;白盒就是针对系统的内部结构进行测试。各个测试阶段都可以使用黑盒方法和白盒方法,即无论是单元测试、集成测试、系统测试阶段都可以使用黑盒方法和白盒方法。

黑盒测试又叫功能测试,我们首先要测试程序是否实现了基本功能,因此,黑盒测试是基本测试。黑盒测试的主要缺陷是难于衡量完整性,而白盒测试正好可以弥补个缺陷。

白盒测试通过逻辑覆盖率来衡量完整性,具有可以精确统计的数字指标。逻辑单位主要有:语句、分支、条件、条件值、条件值组合,路径。语句覆盖就是覆盖所有的语句,其他类推。另外还有一种判定条件覆盖,其实是分支覆盖与条件覆盖的组合。跟条件有关的覆盖就有三种,解释一下:条件覆盖是指覆盖所有的条件表达式,即所有的条件表达式都至少计算一次,不考虑计算结果;条件值覆盖是指覆盖条件的所有可能取值,即每个条件的取真值和取假值都要至少计算一次;条件值组合覆盖是指覆盖所有条件取值的所有可能组合。与条件直接有关的错误主要是逻辑操作符错误,例如:||写成&&,漏了写!什么的,采用分支覆盖与条件覆盖的组合,基本上可以发现这些错误,而条件值覆盖与条件值组合覆盖往往需要大量的测试用例,因此,条件值覆盖和条件值组合覆盖的效费比偏低,比较有价值的覆盖率是语句覆盖、条件覆盖、分支覆盖、路径覆盖。

4、测试用例

人工动态测试需要人工设计测试用例。一个测试用例,就是设定输入数据,执行被测试程序,并判断输出是否符合预期。输出符合预期,则测试通过,否则测试失败。一般来说,测试工具要能自动报告失败的测试。

测试用例的主要内容是输入数据和预期输出,简称输入输出,其中输入是核心,输入确定了,再根据程序的功能设定预期的正确输出。

如果我们把函数看作测试单元,那么,输入数据就是被测试函数所读取的外部数据及这些数据的初始值。"外部数据"是对于被测试函数来说的,就是除了局部变量以外的其他数据,分为几类:参数、成员变量、全局变量、IO媒体。IO媒体是指文件、数据库或其他储存或传输数据的媒体,例如,被测试函数要从文件或数据库读取数据,那么,文件或数据库中的原始数据也属于输入数据。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
小红书怎么修改ID 专属ID更改方法 Win11如何更改字体视觉效果 Win11字体视觉效果修改方法介绍 华为团队管理模式 通信工程这个专业主要是学什么 专注力差的孩子该如何纠正 三岁的孩子专注力不好,怎么培养她的专注力呀!。 镇江关周围有什么玩的,镇江及周边旅游景点 大港南站去镇江汽车站怎么走 镇江汽车站到大港南站有多远 出国去澳大利亚留学都需要注意哪些事项呢? 澳大利亚留学条件及注意事项有哪些 请问小孩子能不能用大人的去屑洗发露? 大人的洗发水小孩子能用吗? 2020安徽教师招聘考试8.8,如果不辞职考编,在笔试和面试的时候会出什么问题吗,比如审核不通过? 西安一整形专家在自己门诊整形身亡,麻醉剂的成分有哪些危害? 国企出纳 找工作 关于保险公司标书编制问题 阜阳十中——回望过去,总结当下,展望未来 阜阳岳家湖公园现在开放了吗? 阜阳岳家湖门票多少钱1个人? 阜阳市颖东岳家湖最好的景点靠哪门进入? 电站安全生产岗位责任制 岗位安全生产责任制内容有哪些 已知正四棱锥的底面边长为3厘米,高为2厘米。求该三棱锥的表面积和体积 陈红靠怀孕上位抢夺陈凯歌,挤走同居6年的倪萍,当年到底发生了什么? 已知正四棱锥底面边长4厘米,高3厘米,求它的侧棱长是多少 契约型REITs的投资者的角色是 求《重生之地产大亨 》《靠!怀上了!》 作者:捕快A,txt全本 求脆皮鸭小说《靠 怀上了》 by快捕A txt 谢谢大家 耽美小说《靠!怀上了!》by捕快A , 是双洁的么或者有什么雷么 正四棱锥的底边长是4 cm,侧棱长是6cm,则其侧面积是 【祈福新邨海晴居】小区大吗?大概有多少栋楼? 春天了,想驾驶途达去丛林越野,有什么需要注意的吗? 祈福新村里面有24个小区,分别有哪些不同呢?我是想买来自住的,所以请从生活便利,环境优美,升值来回答。 广州祈福新村海晴居周边有什么学校,停车难吗? 穿越的前兆 祈福新村海晴居六街是什么镇? 出轨了如何挽回丈夫? 女人出轨后想挽回丈夫(自己出轨怎么挽回老公) 我出轨后悔了怎么挽回丈夫(怎么挽回出轨丈夫的心) 户外穿越北京十大险山 一句话表达对父母的爱 表达对父母的爱的短句 寡肽修护冻干粉怎么使用,寡肽冻干粉的用法 小学一年级语文上册测试题 烟雨江湖拜娜妮武学怎么学 日本的药品包装里面的100T。T是代表什么- 问一问 李若彤跑步健身20年,54岁的她身材不输少女 李若彤冻龄美貌是怎么回事? windows 7下打不开ftp 疾病怎么来的大全 通过QQ能看到在线好友在浏览什么网页吗?