工程实践报告 工程实践报告
工程实践报告
目 录
1.
测 试 项 目 背
景
…..41 ) 嵌入式软件的发展趋
TOC \o “1-5” \h \z )单
元测试对嵌入式软件的重要
目 中 任务加载数据包、UT1553B 总线发送、INT6中断处理函数、时钟初始化、UARTG始化、
之后要在CCS环境中编译运行通过后,然后在TESS自动化
通过main函数调用覆盖被测函数后,用 __TCL脚本,利用 脚本在驱动函数和被测函数有输出处进行插桩、打点,验看 输出结果的准确性。通过执行的结果,判定函数是否存在问 题,若存在将其提交到 Bug报告单中。
到了测试项目后期阶段,我们的工作是将测试用例与 Bug报告单的一些基本情况进行统计,比如测试用例、Bug
报告单的个数、发现问题的个数、以及用例与报告单的规范 性调整,之后将统计的情况向甲方提交,并要参加甲方组织 的评审。
项目中存在的问题及认识
在设计测试用例过程中,第一个问题是在计算校验和函
数中出现的,该函数整体结构主要是实现一个FOR!环,在
FOR循环体中通过对循环次数的控制,一些使得指针左移或 右移相应位数的语句和相位与、相或与语句来生成校验字
5
。从函数的结构分析^p ^p ,进行测试用例的设计从两种测试 类型功能测试与逻辑测试,其中逻辑测试乂分为分支测试、 语句测试。该函数功能测试的目的很明确,就是是否能实现 生成数据帧的校验和的结果,而分支测试的目的则是判断函 数在何种情况下执行 FOR!环分支或不执行该分支时分支覆 盖率的情况,语句测试则是在上述两种分支覆盖的情况下, 语句执行情况下,语句覆盖率的情况。在设计该函数功能测 试用例输入数据时起初存在难点,因为该函数的两个输入参 数一个是指针,而另一个是数据帧的长度,数据帧的长度有 合理输入范围1-32之间,因此容易设立输入初值,而输入 参数为指针的因为在后续的其他函数中对其均有调用,调用 时对应输入参数指针均是上述数据包头字的地址,而该地址 是计算机随机分配的,事先无参照值,后来想到用一组数组 来代替该随机分配得计算机地址,然后先将这些输入数据带 入该函数,通过人工计算得出函数结果,之后再计算机在 TESS中验看函数计算结果, 通过两个结果比对是否一致,来
验证函数的功能
执行该函数分支测试用例时,也出现了大家共同关心的 问题,这一问题使大家在设计测试用例初期产生了巨大的分 歧,分歧在于功能测试与逻辑测试虽然在测试概念上完全不 同,但在设计用例时可能设计出来的用例完全一致,一方的 意见是尽管一致但因为测试类型不同,所以测试用例还是应 该分开写;另一方的意见则是因为一致,可以考虑合并到一 起,只要在测试类型处标明即可;最后大家一致认为同意将 其合并,用同一组测试用例表示即可。
6
所以也不可以作为 Bug提交成报告单。
还有一个问题是在函数悬挂物数据包中出现的,在该函 数中If条件的嵌套层次很多,在开始设计其测试用例时, 将分支测试与路径测试混淆在一起,将基本的分支进行分支 与分支进行了组合,误认为是新的分支,其实是路径,在纠 正了这个错误后,该函数的测试用例个数减少了许多,也因 此弄清楚了分支测试与路径测试的区别与联系。
7
在进行TCL脚本语言设计时,在代码打点处输出遇到 函数输出不正确的问题,这个问题是在Uart初始化函数中
碰到的,在该函数中主要实现是否能正确选择串口通道、波 特率值、合法FIFO级别设置、非法中断使能设置四项要素, 如果有一项未能正确取值,则利用Return语句跳出整个函 数,在该函数的TCL脚本中,是在这四个要素分别赋值,若 其中一个进行非法赋值,就跳出函数并返回该处的返回值,
在插入脚本打点前期,始终都只能返回正确返回值0,而其
他非法情况下的返回值1、2、3、4均不能返回,后来发现
原因在于在 CCS中编写驱动函数时,在 main函数中调用该 初始化函数时,语句只写到该调用语句,也就是每次执行脚 本时,返回值在总是被赋初值为 0时就返回了,后来在驱动 函数中乂加了一条语句后,每次执行脚本后,要执行到调用 该初始化函数语句后面一句时,再显示返回值时就会出现在 非法情况下的返回值1、2、3、4,通过对这个问题的分析^p ^p 我 们知道TCL脚本在执行返回值时的特点,对自己以后写脚本 时提高了一些认识吧。后来在写 Bug问题报告单时,也是这 个Uart初始化函数基于其函数结构是单入口、多出口函数 结构,在测试规范上要求函数结构是单入口、单出口结构, 所
工程实践报告工程实践报告 来自淘豆网m.daumloan.com转载请标明出处.