模组和软件交互,怎么测试

如题所述

一,软件测试的方法

1,白盒测试: 又称为结构测试或逻辑驱动测试,是一种按照程序内部逻辑结构和编码结构,设计测试数据并完成测试的一种测试方法。

2,黑盒测试: 又称为数据驱动测试,把测试对象当做看不见的黑盒,在完全不考虑程序内部结构和处理过程的情况下,测试者仅依据程序功能的需求规范考虑,确定测试用例和推断测试结果的正确性,它是站在使用软件或程序的角度,从输入数据与输出数据的对应关系出发进行的测试。

3,灰盒测试: 是一种综合测试法,它将“黑盒”测试与“白盒”测试结合在一起,是基于程序运行时的外部表现又结合内部逻辑结构来设计用例,执行程序并采集路径执行信息和外部用户接口结果的测试技术。

二,软件测试的设计步骤

1、需求分析、需求评审:需求分析和评审就是分析客户的需求可不可行,需要怎么进行测试。

2、编写测试计划:编写测试计划通俗一点讲就是什么人在什么时间做什么事,最后产出什么东西。测试人员要测试哪些模块、在什么期限内,提交哪些文档。

3、编写测试用例、用例评审:测试用例就是指导测试的文档,比如我们要测试商城登录、买东西等功能,通过测试方法和策略设计测试用例。评审就是评价审查,不能想当然该怎么测。不能只是输入正确的用户名和密码,能登录进去就完事了。作为软测工程师需要有破坏性,比如密码输错时怎么办,会不会有相应的报错等等。

4、执行测试、bug.回归测试:bug就是缺陷,发现bug之后,要提交给开发人员让他们去修改,然后进行回归测试,验证开发人员有没有改好。

5、编写测试总结报告:Bug都改好了之后,要编写测试总结报告,后面遇到问题的时候可以拿出数据说话。

三,开发过程测试流程

为了对设备及软件整体质量进行综合测试,有必要将单元测试阶段、硬件集成阶段、软件集成阶段、整机测试阶段以及验证测试阶段的测试项合并到测试大纲中。从整个系统开发的质量控制而言,开发和测试需要贯穿在整个过程中,设计测试项目和测试过程,都是系统质量控制所必须的。

综上所述,在系统设计开发的同时,有必要并行地从设计需求、设计和实施覆盖性、设计或需求变更等多个角度进行测试设计和实施。本测试大纲主要用于原型研发阶段的测试项和测试纲要编制,适宜于小批量情况下研发过程的测试验证。对于开发者,开发应该和测试是同时进行的。

1,模块测试

模块测试是针对软件设计的最小单位(程序模块或功能模块),进行正确性检验的测试工作。其目的在于检验程序各模块是否存在各种差错,是否能正确地实现了其功能,满足其性能和接口要求。各个单元模块具有较强的专业特性,单元测试阶段往往会由该模块的设计开发人员直接测试并给出测试结论。这种自测试方式带有隐患,难以发觉设计漏洞和接口控制漏洞,往往在交付给下一集成环节时暴露大量的功能和控制类问题。设计人员草率完成的接口设计和自测,总会在集成阶段引起集成功能异常。这类问题是直接影响系统质量和推进进度的关键因素。模块测试主要用于各个独立模块的功能测试和性能指标测试,一般一个单元模块由一人独立维护,具有相对独立的技术领域,对外有清晰的功能和控制接口。模块测试中可以作为单元测试目标的模块包括:

(1)硬件的独立板卡、电源模块、功放模块、天线模块、TR组件;

(2)软件的调制解调、信道编码、交织等组件、PL端xilinx官网IP或自搭建IP、软件C语言中的功能函数、PS与PL之间交互的AXI模块;

(3)硬件驱动的各类接口芯片驱动。

举例:ZYNQ PL通过GP接口传输256/128/48字节的数据到PS端,使用AXI交互模块

AXI交互长度

测试内容

测试方法

256字节

128字节

48字节

数据传输模块的连续性,保证做到不丢数

通过PL添加帧计数,PS端接收到的帧计数如果连续两包之差不等于1,则存在传输丢包的情况。

数据传输模块的可靠性,保证速度能达到

PS端通过计算接收的数据大小乘以包数除以固定的时间,计算出接收数据的速度,打印出数据传输的速度。

数据传输模块的稳定性,确保能长时期运行

将本模块多运行几个小时,看是否有越界等错误,长时间实践才能保证它的稳定性

2,集成测试:

集成测试是模块测试的多级扩展,是在模块测试的基础上进行的一种有序测试。旨在检验软件模块之间的接口关系,以期望通过测试发现各软件模块接口之间存在的问题,最终把经过测试的模块组成符合设计要求的软件。集成测试阶段主要用于系统中具有技术类似性模块形成分子系统的集成过程中和集成后测试。单元的集成过程往往具有一定的顺序特性,每增加一个模块,系统的功能可能是叠加式的,也可能是完全革新的。因此,集成测试需要作为分子系统设计的一部分。

集成测试的质量控制要点,在于每个模块集成后,一个分子系统功能变化的验证,集成测试需要跟随集成顺序。在集成测试大纲拟制时,重点设计的即是集成顺序和测试顺序。在实际的系统集成推进过程中,每个模块或者分子系统到位的时间不一样,一般无法等到每个模块都完成测试后进行。因此,集成和集成测试是根据系统的层次结构或者模块连接关系,从内向外迭代式进行的。

举例:

集成测试目标

集成测试内容

软件功能函数、PS与PL之间交互的AXI模块、中断测试;

确定函数的输入输出接口,写完函数后,自己模拟输入变量判断输出内容是否是预期功能。判断函数的地址是否正确,内存有无越界,是否是野指针,输入参数是否合法,输出参数或返回值是否正常。

配置中断,使用VIO进行触发。

对AXI交互模块进行连续性,稳定性测试。

软件接口测试

CAN:上电后做一个收发校验,环路测试,能CAN1对CAN2发送,对错误信息进行打印。
串口:对各个串口进行进行验证的时候,判断有几路串口,分析串口的解帧功能是否正常。上电之后,连上串口,通过串口进入我们的系统进行各种操作。
网口:我们的上位机一般都是通过网口与我们的板卡进行通信。判断网口是否正常,连接网线后,对我们设置的IP地址进行ping,能ping通即为正常。TCP与UDP模式的正常与否,我们在上位机设置模式后,通过TCP&UDP测试工具对其进行测试。
DDR:对相应的地址进行一个写数的操作,一直写,可以读出我们DDR的大小。
AD:我们采集的时候会设置先采递增数,去读我们的寄存器是否有数以及数是否正常,再判断AD模块以及逻辑是否正常。正常以后在切换到采集实数,通过上位机波形判断是否正常。
调制解调、信道编码、交织等PL模块、PL端xilinx官网IP或自搭建IP

增加VIO进行变量输入,ILA在线抓取数据,设置触发变量进行在线触发。对IP核进行稳定性和数据连续性的测试。

硬件驱动的各类接口芯片驱动

在ubuntu编译.ko文件并加载驱动到硬件,用main中测试例程调用驱动接口测试。

3,系统测试:

是为判断系统是否符合要求而对集成的软、硬件系统进行的测试活动、它是将已经集成好的软件系统,作为基于整个计算机系统的一个元素,与计算机硬件、外设、某些支持软件、人员、数据等其他系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。

系统测试目标

系统测试内容

系统工作流程测试

按照协议,在main中进行对串行的流程和并行的线程进行测试。上电之后会对各个接口进行使能处理,也就是selectmap,而当我们selectmap之后,会发现我们的一些接口的回执信息报错。那么我们就需要判断我们自己的代码以及逻辑那边是否正常。读取寄存器,判断读出来的数是否正常。离散线:上电之后进行对应的使能操作,从对应的寄存器进行读取,判断它是否正常。

软硬件稳定性测试

是否数组或内存有越界,速度变慢,野指针造成的内存没用被释放。

环境测试中高低温测试,耐压测试,防水防雷防尘防爆测试

温度电压:我们从BIT信息中获取以后,然后读取寄存器,看对应的值是否正常。提供器件的正常工作温度范围内最高温和最低温环境来检验设备是否还能正常启动,各个硬件是否还能正常工作。密封后进行淋水操作和全浸泡,测试系统功能。

四,常见五种软件测试用例设计方法

1,等价类划分法

  顾名思义,等价类划分,就是将测试的范围划分成几个互不相交的子集,他们的并集是全集,从每个子集选出若干个有代表性的值作为测试用例。 等价类的划分,最关键的是子集的划分。非数字还可以继续划分子集:字母,特殊字符。

举例:测试一个用户名是否合法,用户名的定义为:8位数字组成的字符。 我们可以先划分子集:空用户名,1-7位数字,8位数字,9位或以上数字,非数字。 然后从每个子集选出若干个有代表性的值:

(1)空用户名:“” (无效等价类实例,指对于软件规格说明而言,没有意义的、不合理的输入) (2)1-7位数字:”234” (无效等价类实例) (3)8位数字:”00000000” (有效等价类实例,能检验程序是否实现了规格说明中所规定的功能和性能) (4)9位或以上数字:”1234567890” (无效等价类实例) (5)非数字:”abc&!!!” (无效等价类实例)

2,正交实验法

  用语言描述正交实验法会很抽象难懂,就是在各因素互相独立的情况下,设计出一种特殊的表格,找出能以少数替代全面的测试用例。其中,上面所说的特殊表格就是正交表,是按照一定规则生成的表。虽然说是特殊的表格,实际表现形式跟一般的表格没有什么区别,正交表的主要特征是,“均匀分布,整齐划一”,正是因为“均匀”的,所以才能以少数代替全部。利用正交实验设计测试用例的步骤:

(1)、提取功能说明,构造因子--状态表。

(2)、加权筛选,生成因素分析表。对因子与状态的选择可按其重要程度分别加权,可根据各个因子及状态的作用大小,出现频率的大小以及测试的需要,确定权值的大小。

(3)、利用正交表构造测试数据集。利用正交实验设计方法设计测试用例,比使用等价类划分,边界值分析,因果图等方法有以下优点:节省测试工作工时;可控制生成的测试用例数量;测试用例具有一定的覆盖率。

举例:

游戏账号注册的一个窗口。我们可以看到要测试的控件有3个:邮箱地址、密码、验证码,也就是要考虑的因素有三个;而每个因素里的状态有两个:填与不填。 选择正交表时分析一下:(1)、表中的因素数>=3;(2)、表中至少有3个因素数的水平数>=2;(3)、行数取最少的一个。



3,边界值分析法

大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。选出的测试用例,应选取正好等于、刚刚大于、刚刚小于边界的值。边界值可以算是为了配合等价类而加的一个限制条件,一般会根据略小于最小值、略大于最大值、等于最小值/最大值进行边界值的一些验证;关于区间型数据边界值的测试,大多都是略小于最小值和略大于最大值是不满足要求的,中间的数据是满足需求的。



举例: 购买一个宝箱,一次性最多只能购买5个,以边界值的标准可选取5个(正好等于)、6个(刚刚大于)、4个(刚刚小于),3个(正常值)作为边界值来测试。



4、判定表法

  又称为策略表,基于策略表的测试,是功能测试中最严密的测试方法。该方法适合于逻辑判断复杂的场景,通过穷举条件获得结果,对结果再进行优化合并,会得到一个判断清晰的策略表。

  举例:对于功率大于50马力的机器,并且维修记录不全或已运行10年以上的机器,应给予优先的维修处理。

  条件桩:

C1:功率大于50马力吗? C2:维修记录不全吗? C3:运行超过10年吗?

  动作桩:

A1:进行优先处理 A2:作其他处理

5,错误推测法

错误推测法是指:在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。 这种方法没有固定的形式,依靠的是经验和直觉。没有确定的步骤,很大程度上是凭经验, 结合以往测试经验和直觉设计软件在功能和流程上可能存在的各种错误,进行容错性测试。

举例:

输入数据为零或输出数据为零时容易发生错误的情况,所以可选择输入值为零的例子,以及使输出值为零的例子;

文章知识点与官方知识档案匹配
Python入门技能树首页概览
192446 人正在系统学习中
打开CSDN,阅读体验更佳

软件测试的方法有哪些?_小梧敲代码的博客_软件测试方法
根据利用的被测对象信息的不同,可以将软件测试方法分为:黑盒测试、灰盒测试、白盒测试。 1、白盒测试 1)概念:是依据被测软件分析程序内部构造,并根据内部构造分析用例,来对内部控制流程进行测试,可完全不顾程序的整体功能实现情况,即...
1.软件测试---软件测试的基本概念_学习java的张三的博客_软件...
一、软件测试的基本概念 1.什么是软件测试? 软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足了用户的需求。 软件测试贯穿了软件开发的生命周期。 2.软件测试和软件开发的区别? 软件测试和软件开...
app功能测试和性能测试课程
<p> app应用市场占比越来越高,软件测试工程师必须具备app应用测试技能。</p> <p> 本课程分成两个阶段:</p> <p>第一阶段主要讲解app 功能测试、兼容性、数据安全、弱网络、卸载、安装等知识。</p> <p>第二阶段主要讲解APP 性能指标、adb、FPS、内存、CPU 、monkey、GT 等知识,提升APP 端性能测试能力</p> <p> </p> <p><img style="display: block; margin-left: auto; margin-right: auto;" src="https://img-bss.csdnimg.cn/202111060244194894.jpg" alt="" /></p>
继续访问

什么是软件测试?
软件测试通俗来讲:就是找BUG
继续访问
什么是软件测试,软件测试究竟是做什么的_绝世降谷零的博客
软件测试(英语:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误...
软件测试是什么?_软件测试开发区的博客
01软件测试定义 标准定义:软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。 通俗来说就是在软件中发现缺陷的过程。
常见的软件测试方法
软件测试技术 软件测试作为一个技术岗位,也是有自己的技术划分的,按照市场上常见的分类,可以分为白盒测试技术、黑盒测试技术以及介于二者之间的灰盒测试技术,每种测试技术更有自己独特的分析方法。 1.白盒测试技术 1)代码检查法 2)静态结构分析法 3)静态质量度量法 4)逻辑覆盖法 5)基本路径覆盖法 2.黑盒测试技术 1)等价类划分法 2)边界值分析法 3)错误推测法 4)因果图法 5)判定表驱动法 6)正交试验法 7)功能图法 8)场景分析法 3.灰盒测试技术 ...
继续访问
常见的二十种软件测试方法详解(史上最全)
一.单元测试(模块测试) 单元测试是对软件组成单元进行测试。其目的是检验软件组成单位的正确性。测试对象是:模块。 对模块进行测试,单独的一个模块测试,属于静态测试的一类 测试阶段:编码后或者编码前(TDD) 测试对象:最小模块 测试人员:白盒测试工程师或开发工程师(测源码) 测试依据:代码和注释+详细设计文档 测试方法:白盒测试(因为要测源码) 测试内容:模块接口测试(测试模块里面的参数传递是否正确)、局部数据结构测试(测试变量的作用域范围)、路径测试(if-else 判断必须覆盖所有分支)、错误处理
继续访问
软件测试的基本概念_月光引力的博客
1.什么是软件测试 软件测试是软件测试人员验证是否满足用户的需求。 2.软件测试和软件开发的区别? (1)本身 开发:广度小,专业度高 测试:所需技能比较广泛,但专业度低 难易,薪资,工作环境,压力,责任 ...
软件测试分哪几种?_人邮异步社区的博客
软件测试的分类有很多种,它们分别站在不同的观察角度,但是无论哪一种都是针对测试工作内容进行划分的。 1.4.1 按照开发阶段划分 众所周知,软件测试和软件开发相辅相成,因此按照开发阶段划分相对来说应该最容易了。按照开发阶段,软件测...
软件测试菜鸟入门
无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。 视频课程:https://edu.csdn.net/course/detail/23459 目录 前言... 3 软件测试流程... 3 提取测试点... 4 设计测试用例与用例评审... 4 测试类型选择... 5...
继续访问

软件工程——软件测试总结
测试的基本概念 1.软件测试是保证软件质量,提高软件可靠性的关键。 2.软件测试的目的:发现错误 3.测试与调试比较 测试 (test) 调试 (debug) 1.以已知条件开始, 使用预先定义的程序, 有预知的结果 2.发现错误 1.以不可知内部条件开始,结果一般不可预见 ...
继续访问
常见的二十种软件测试方法详解(史上最全)_小梧敲代码的博客...
一.单元测试(模块测试) 单元测试是对软件组成单元进行测试。其目的是检验软件组成单位的正确性。测试对象是:模块。 对模块进行测试,单独的一个模块测试,属于静态测试的一类 测试阶段:编码后或者编码前(TDD) ...
软件测试的各种技术
按开发阶段划分 SDK:(SoftWare DeveLopment Kit)一般是指软件工程师特定的软件包建立的开发工具集合。 单元测试 手机有很多功能,女孩子都喜欢用美颜功能,突然有一天美颜功能不可用了,怎么办?只针对这一功能的代码进行测试。 ...
继续访问
软件测试(概念篇)
验证软件是否满足用户的需求。人员不同软件测试,黑盒测试工程师、白盒测试工程师、开发人员(单元测试);目的不同软件测试是检验软件的质量(以需求为标准);原则以客户需求为中心,遵循软件测试的规范、流程、标准和要求;简单来说用户需求就是用户的期望,软件需求就是用户需求的细化;WEB测试、APP测试、游戏测试、接口测试、嵌入式测试等;⑤软件测试开发工程师、测试工程师、软件开发测试测试工程师。兴趣、专业技能、逆向思维、发散性思维、责任感和压力。初级、中级、高级、资深、组长、主管、经理、总监;(2)软件测试,测试广度大
继续访问
什么是软件测试
综上所述,软件测试的目的可以概括如下:软件测试是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。随着软件工程化越来越被重视以及软件规模的不断扩大,软件分析、设计的作用越来越突出,而在实践中,越来越多的错误是在刚开始的分析与设计阶段就已经存在,所以对于软件需求和设计阶段的测试就显得非常重要,这就是测试概念的扩大化以及软件全。软件质量是软件特性的总和,软件满足规定或潜在用户需求的能力。...
继续访问

最新发布 软件测试(基础知识)
软件测试概念篇
继续访问
软件测试(功能、接口、性能、自动化)详解
一、软件测试功能测试 测试用例编写是软件测试的基本技能;也有很多人认为测试用例是软件测试的核心;软件测试中最重要的是设计和生成有效的测试用例;测试用例是测试工作的指导,是软件测试的必须遵守的准则。 黑盒测试常见测试用例编写方法 1、等价类 选取少数有代表性的数据,这一类数据等价于这一类的其它值;找出最小的子集,可以发现最多的错误;特性:必须设计的用例;涵盖了大部分情况; 2、边界值 所谓边界条件,是指输入和输出等价类中那些恰好处于边界、超过边界、或在边界以下的状态 ;特征:选择一个或多个元素,以便等价类的每
继续访问
【温故知新】软件测试基础知识整理(详细版)
一、软件测试概述 1、软件缺陷 软件缺陷:又称之为“Bug”。即计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。 缺陷的表现形式: 软件没有实现产品规格说明书所要求的功能模块; 软件中出现了产品规格说明指明不应该出现的错误; 软件实现了产品规格说明中没有提到的功能需求; 软件没有实现虽然产品规格说明没有明确提及但应该实现的目标; 软件难以理解、不易使用、运行缓慢、用户体验不友好; 产生软件缺陷的原因: 需求不清晰; 系统结构较为复杂; 对程序逻辑路径或者数据范围考虑
继续访问

软件测试基本知识
目录一、测试用例​编辑二、软件测试1、目标是验证产品的需求是否实现(可以对产品的需求进行全面理解)2、测试用例是通过种种方法设计出来的3、测试用例的核心三要素 4、测试用例重构 二、软件测试 1、软件测试的目的——发现缺陷 2、什么是测试用例? 3、测试用例八要素 4、什么是缺陷? 5、通用原则 6、软件测试过程7、测试模型 8、测试用例:...
继续访问
温馨提示:答案为网友推荐,仅供参考