问问大家对于stm32控制程序如何进行白盒测试和黑盒测试

2019-12-09 14:25发布

如题,关于白盒测试和黑盒测试具体含义我都似懂非懂,由于水平有限,没有写过很庞大的系统,或是什么复杂的算法,平时写代码根本没有任何专业测试,最简单的就是烧进去跑一跑,模拟些操作,给些信号来测试程序(个人理解这样的测试是属于黑盒测试,不知道理解的对不对)。今天想问问坛友,如何专业的测试STM32 的程序。我感觉像单片机这样的嵌入式,跟Linux的嵌入式差距还是很大的,知道像WindowsLinux安卓等系统软件有很多测试工具(实际也没用过,只是听说),可以进行各种各样的测试。我理解的像应用软件基本上跟硬件无关,测试起来是不是相对容易些,写点测试代码用来产生功能或函数的输入参数,跑起来测试输出结果,或者模拟鼠标键盘操作,看看程序响应,不知道理解对不对。对于STM32,有很多外设的驱动程序,falsh、ram存储空间有限,求教需要测哪些内容,以及怎么测试呢?还求推荐些测试工具和测试方法。像公司搞一些质量体系方面的是不是必须有这些测试。另外坛里有坛友发过一个白盒测试工具(https://www.amobbs.com/thread-5695525-1-1.html?_dsign=d2728302)水平有限,看了好像是测试代码覆盖率的,打印出代码执行过的行号,用过的也可以教教怎么测。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
norman33
1楼-- · 2019-12-09 18:44
stm32类单片机程序因为逻辑相对简单,不需要黑白盒测试,只需要功能测试,外设驱动模块代码我们是有专门负责编写测试完成后统一调用的。我们公司是这么定义的。
nyszx
2楼-- · 2019-12-09 23:23
 精彩回答 2  元偷偷看……
norman33
3楼-- · 2019-12-10 05:22
所有测试工作首先要所有开发、测试和和主管定好测试项目列表,共同签字认定,代码完成后测试依照测试列表中定义的测试环境、方法和条件进行测试然后给出每项PASS还是NG,并说明NG条件,最后要打上timestamp和测试人员签字,所有测试不管pass和NG都要可以重现,如果出现无法重现的情况首先判定NG并要附加说明。如果测试pass后出现bug,可以回述测试流程,如果测试员没有按照文档规定pass了,那么就是测试人员的问题,如果是按照流程pass但是出现新情况了,那么提交bug report给开发修改,如果是没有测试没有覆盖到的情况出bug,则要在以后同类测试增加测试项目,以上只是举例,不要认为不使用黑白盒测试就是瞎jb乱搞。
nyszx
4楼-- · 2019-12-10 06:46
norman33 发表于 2019-11-26 11:31
所有测试工作首先要所有开发、测试和和主管定好测试项目列表,共同签字认定,代码完成后测试依照测试列表中 ...

学习了,也就是具体测哪些,使用什么方法,预期的结果都是要事先多部门联合商讨确认(一个人或两个人从头搞到尾的估计就自己定了),使用白盒测试或黑盒测试也并不是适用所有情况,或者除了黑白盒,也可以有自己的测试。
norman33
5楼-- · 2019-12-10 12:39
其实不管什么测试,哪怕是硬件,重点要在项目开始的时候就把测试内容定好(其实测试内容和开发功能的内容几乎是一致的),构建好测试方法,这块内容要项目经理、研发和测试一起商量决定,然后按着测试计划就完成就好了。重中之重是制定测试内容和方法,而不是为测试去测试。
Doding
6楼-- · 2019-12-10 15:49
个人理解,墨盒测试基本就是功能测试,把开发前列出的需求全部测一遍,各功能按预期实现,没有Bug就可以了。
白盒测试是知道产品工作的细节,通过构造条件,把所有可能的状态都测一遍,也就是把程序所有分支和流程都测一遍,不管这些分支是不是产品需求里的功能。

一周热门 更多>