如何测试模块和软件的交互?
1、白盒测试:又称结构测试或逻辑驱动测试,是根据程序内部逻辑结构和编码结构设计测试数据并完成测试的一种测试方法。
2、黑盒测试:又称黑盒测试,将测试对象视为一个看不见的黑盒。测试人员完全不考虑程序的内部结构和处理过程,只考虑程序功能的需求,确定测试用例,推断测试结果的正确性。是从使用软件或程序的角度,从输入数据和输出数据的对应关系出发的测试。
3.灰盒测试:是一种综合测试方法,将“黑盒”测试和“白盒”测试结合起来。它是一种测试技术,根据程序运行时的外部性能,设计用例,执行程序,收集路径执行信息和外部用户界面结果。
二、软件测试的设计步骤
1.需求分析和需求评审:需求分析和评审就是分析客户的需求是否可行,如何测试。
2、写测试计划:写测试计划一般来说就是谁在什么时间做什么,最后产生什么。测试人员应该测试哪些模块,在什么时限内,提交哪些文档。
3.编写测试案例和用例评审:测试案例是指导测试的文档。比如我们需要测试商城登录和购物的功能,通过测试方法和策略设计测试用例。复习就是评价性复习,怎么衡量都不能想当然。你不能只输入正确的用户名和密码,只要登录就结束了。做一个软测试工程师需要有破坏性,比如密码输入错误怎么办,会不会出现相应的错误等等。
4.执行测试,bug。回归测试:bug是缺陷。发现bug后,要提交给开发人员修改,然后进行回归测试,验证开发人员是否有改进。
5.写测试总结报告:bug改正后,写测试总结报告,以后遇到问题可以把数据拿出来。
三、开发过程测试流程
为了全面测试设备和软件的整体质量,需要将单元测试阶段、硬件集成阶段、软件集成阶段、整机测试阶段和验证测试阶段的测试项目合并到测试大纲中。就整个系统开发的质量控制而言,开发和测试需要贯穿整个过程,设计测试项目和测试流程都是系统质量控制的必要条件。
综上所述,在系统设计和开发的同时,需要从设计需求、设计和实现覆盖、设计或需求变更等角度进行测试、设计和实现。本测试大纲主要用于样机研制阶段测试项目和测试大纲的编制,适用于小批量R&D工艺的测试和验证。对于开发者来说,开发应该和测试同时进行。
1,模块测试
模块测试是检查软件设计最小单元(程序模块或功能模块)正确性的测试。其目的是检查程序的各个模块是否存在各种错误,是否能正确实现其功能,是否满足其性能和接口要求。每个单元模块都有很强的专业特色,单元测试阶段往往由模块的设计开发人员直接测试并给出测试结论。这种自测方式存在隐患,很难发现设计漏洞和接口控制漏洞,交付到下一个集成环节时往往会暴露出大量的功能和控制问题。设计师仓促完成的接口设计和自检,总会在集成阶段造成集成功能异常。这类问题是直接影响系统质量和进度的关键因素。模块测试主要用于独立模块的功能测试和性能指标测试。一般一个单元模块由一个人独立维护,有相对独立的技术领域,有明确的对外功能和控制接口。模块测试中可以作为单元测试目标的模块包括:
(1)硬件独立板卡、电源模块、功放模块、天线模块、TR组件;
(2)调制解调、信道编码、交织、PL端xilinx官网IP或自建IP等软件的模块,软件C语言中的功能函数,PS与PL交互的AXI模块;
(3)硬件驱动的接口芯片驱动程序。
例:ZYNQ PL通过GP接口向PS传输256/128/48字节的数据,使用AXI交互模块。
AXI相互作用长度
测试内容
检测方法
256字节
128字节
48字节
数据传输模块的连续性保证了号码不丢失。
通过PL相加帧数,如果PS连续接收到的两个包之差不等于1,则传输中会有丢包。
数据传输模块的可靠性保证了速度可以达到。
PS终端计算接收数据的速度,并通过计算接收数据的大小乘以分组的数量除以固定时间来打印出数据传输的速度。
数据传输模块的稳定性保证了长期运行。
多运行几个小时这个模块,看看有没有越线等错误,长期的练习可以保证它的稳定性。
2.集成测试:
集成测试是模块测试的多层次扩展,是基于模块测试的有序测试。本文的目的是检查软件模块之间的接口关系,以便通过测试发现软件模块接口之间的问题,最终将被测试的模块组成符合设计要求的软件。集成测试阶段主要用于系统中具有技术相似性的模块组成的分子系统的集成过程和集成后测试。单元的整合过程往往具有一定的序列特征。每增加一个模块,系统的功能就可能叠加或者完全创新。因此,整合测试需要成为分子系统设计的一部分。
集成测试质量控制的关键点是验证一个分子系统在各个模块集成后的功能变化,集成测试需要遵循集成顺序。起草集成测试大纲时,重点设计的是集成顺序和测试顺序。在实际的系统集成过程中,每个模块或分子系统的到位时间都不一样,所以一般不可能等到每个模块都完成了测试。因此,集成和集成测试是按照系统的层次结构或模块连接关系,由内向外迭代进行的。
例如:
综合测试目标
综合测试内容
软件功能函数,PS与PL交互的AXI模块,中断测试;
确定函数的输入输出接口。写完函数后,模拟输入变量,判断输出内容是否是期望的函数。判断函数的地址是否正确,内存是否越界,是否为通配符指针,输入参数是否合法,输出参数或返回值是否正常。
配置中断并使用VIO触发。
测试AXI交互模块的连续性和稳定性。
软件接口测试
can:上电后做收发器检查和回路测试,CAN发送CAN1的CAN2,打印错误信息。
串口:验证每个串口时,判断有多少个串口,分析串口的解帧功能是否正常。通电后,连接串口,通过串口进入我们的系统进行各种操作。
网络端口:我们的主机通常通过网络端口与我们的主板通信。判断网络端口是否正常。连接网线后,ping我们设置的IP地址。如果能pinged通,就是正常的。无论TCP & amp模式是否正常,我们都在上位机设置模式,然后通过TCP & ampUDP测试工具对其进行测试。
DDR:写一个数字到对应的地址,一直写,就可以读出我们DDR的大小了。
ad:我们采集的时候会先设置增量数,读取我们的寄存器是否有该数,该数是否正常,然后判断AD模块和逻辑是否正常。正常后,切换到采集实数,通过上位机的波形判断是否正常。
调制解调、信道编码、交织等PL模块,PL端xilinx官网IP或自建IP。
变量输入增加了VIO,ILA在线采集数据,触发变量设置为在线触发。测试IP核的稳定性和数据连续性。
硬件驱动的接口芯片驱动器
编译。ko文件并将驱动程序加载到硬件上,用main中的测试例程调用驱动程序接口测试。
3.系统测试:
它是对集成的软硬件系统进行的判断系统是否满足要求的测试活动。它将集成软件系统作为整个计算机系统的一个元素与其他系统元素如计算机硬件、外围设备、一些支持软件、人员、数据等结合起来。,并在实际操作环境中对计算机系统进行一系列组装测试和确认测试。
系统测试目标
系统测试内容
系统工作流测试
根据协议,主要测试串行进程和并行线程。上电后,每个接口都会被启用,也就是selectmap,当我们选择map的时候,会发现我们有些接口的回执信息是错误的。然后需要判断自己的代码和逻辑是否正常。读取寄存器,判断读取的数字是否正常。离散线:上电后,进行相应的使能操作,读取相应的寄存器,判断是否正常。
软件和硬件稳定性测试
不管是数组还是内存越界,速度都慢,释放野指针导致的无用内存。
环境试验中的高低温试验、耐压试验、防水、防雷、防尘、防爆试验。
温度和电压:我们从位信息中获取后,会读取寄存器,看对应的值是否正常。提供设备正常工作温度范围内的最高和最低温度环境,检查设备是否还能正常启动,所有硬件是否还能正常工作。密封后,进行喷水操作和全浸,以测试系统功能。
四、五种常见的软件测试用例设计方法
1,等价类划分法
顾名思义,等价类划分就是将测试范围划分为若干个互不相交的子集,它们的并集是一个完备集,从每个子集中选取几个有代表性的值作为测试用例。等价类划分的关键是子集的划分非数字可以继续划分为子集:字母和特殊字符。
例如,为了测试用户名是否合法,用户名被定义为:8位字符。我们可以先划分子集:空用户名,1-7位,8位,9位以上,非数字。然后从每个子集中选择几个有代表性的值:
(1)空用户名:“”(无效的等价类实例,对软件规范来说意味着无意义、不合理的输入)(2)1-7位数字:“234”(无效的等价类实例)(3)8位数字:“0000000”(有效的等价类)!!!"(无效的等价类实例)
2、正交实验法
用语言描述正交试验法会很抽象,也很困难,就是设计一个专用表,找出几个在独立因素条件下可以代替综合的试验案例。其中,上面提到的特殊表格就是正交表,它是按照一定的规则生成的。虽然是特殊表,但实际表现形式和一般表没什么区别。正交表的主要特点是“均匀分布,整齐划一”。正是因为“整齐划一”,少数才能代替全部。通过正交实验设计测试用例的步骤:
(1),提取函数描述,构造因子-状态表。
(2)加权筛选生成因子分析表。因素和状态的选择可以根据其重要性进行加权,权重可以根据每个因素和状态的作用、出现的频率和测试的需要来确定。
(3)利用正交表构造测试数据集。使用正交实验设计方法设计测试用例,比使用等价类划分、边界值分析、因果图等方法有以下优点:节省测试工时;可以控制生成的测试用例的数量;测试用例有一定的覆盖率。
例如:
游戏账号注册的窗口。我们可以看到要测试的控件有三个:邮箱、密码、验证码,也就是要考虑三个因素;每个因子有两种状态:填充和不填充。选择正交表时,分析:(1),表中因子个数>;=3;(2)表中至少有三个因子的水平数>;=2;(3)取最少的行数。
?
3、边界值分析法
大量误差出现在输入或输出范围的边界,而不是在输入和输出范围内。因此,针对各种边界条件设计测试用例可以找出更多的错误。对于所选的测试用例,应该选择刚好等于、刚好大于和刚好小于边界的值。边界值可以看作是匹配等价类的一个限制性条件。一般会按照略小于最小值、略大于最大值、等于最小值/最大值来进行一些边界值的验证。关于区间数据边界值的检验,大部分略小于最小值,略大于最大值,不符合要求,而中间数据符合要求。
比如买宝箱,一次只能买五个。根据边界值的标准,可以选择五(刚好等于)、六(刚好大于)、四(刚好小于)、三(正常值)作为边界值进行测试。
4.决策表方法
也称为策略表,基于策略表的测试是功能测试中最严格的测试方法。这种方法适用于逻辑判断复杂的场景。通过穷举条件得到结果,然后对结果进行优化合并,得到清晰的判断策略表。
比如功率大于50马力,维修记录不全的机器或者使用时间超过10年的机器,优先考虑维修。
条件堆:
C1:功率是否大于50马力?C2:维修记录不完整吗?C3:它已经运行了10多年了吗?
动作堆:
A1:优先处理A2:其他处理。
5、错误的投机方法
错误推断法是指在测试程序时,人们可以根据经验或直觉推断出程序中可能出现的各种错误,从而编写有针对性的测试用例来检查这些错误。这种方法没有固定的形式,依靠经验和直觉。没有确定的步骤,很大程度上是根据经验,结合以往的测试经验和直观设计软件的功能和过程中可能出现的各种错误,进行容错测试。
例如:
当输入数据为零或输出数据为零时,容易出错,可以选择输入值为零的例子和输出值为零的例子;
将文章知识点与官方知识档案进行匹配
Python入门技能树主页概述
192446人在系统学习。
打开CSDN获得更好的阅读体验。
软件测试的方法有哪些?_小武敲代码博客_软件测试方法
根据被测对象信息的不同,软件测试方法可以分为黑盒测试、灰盒测试和白盒测试。1,白盒测试1)概念:根据被测软件的内部结构和内部结构分析用例来测试内部控制流,可以完全忽略程序的整体功能实现,即...
1.软件测试-软件测试的基本概念_张三学习java的博客_软件...
一、软件测试的基本概念1。什么是软件测试?软件测试是通过人工或自动手段运行或测试软件系统的过程,其目的是检查软件系统是否满足用户的需求。软件测试贯穿于软件开发的整个生命周期。2.软件测试和软件开发有什么区别?软件测试和软件开发...
App功能测试和性能测试课程
& ltp & gtApp应用市场占比越来越大,所以软件测试工程师必须具备app应用测试技能。& lt/p & gt;& ltp & gt本课程分为两个阶段:
继续参观
什么是软件测试?
一般来说,软件测试就是为了发现bug。
继续参观
什么是软件测试,软件测试做什么?降谷零的博客。
软件测试(英文:Software Testing)描述了一个促进验证软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是实际产出和预期产出之间的审查或比较过程。软件测试的经典定义是:在指定的条件下运行程序以发现程序错误。...
什么是软件测试?_软件测试开发区博客
01软件测试的标准定义:软件测试是通过人工或自动手段对软件系统进行运行或测试的过程,其目的是检查是否满足规定的要求或找出预期结果与实际结果之间的差异。总的来说就是发现软件缺陷的过程。
常见的软件测试方法
软件测试技术作为一个技术岗位,软件测试也有自己的技术分工。按照市场上常见的分类,可以分为白盒测试技术、黑盒测试技术以及介于两者之间的灰盒测试技术,每种测试技术都有自己独特的分析方法。1.白盒测试技术1)代码检查法2)静态结构分析法3)静态质量度量法4)逻辑覆盖法5)基本路径覆盖法2。黑盒测试技术1)等价类划分法2)边界值分析法3)错误推测法4)因果图法5)决策表驱动法6)正交测试法7)功能图法。...
继续参观
二十种常见软件测试方法的详细说明(史上最全)
单元测试(模块测试)单元测试是测试软件组件。其目的是测试软件组件的正确性。测试对象是:模块。测试模块,单个模块测试,属于一种静态测试阶段:编码后或编码前(TDD)测试对象:最小模块测试人员:白盒测试工程师或开发工程师(源代码测量)测试依据:代码和注释+详细设计文档测试方法:白盒测试(因为要测量源代码)测试内容:模块接口测试(模块中的参数是否正确传递)和局部数据结构测试。
继续参观
软件测试的基本概念_月光引力博客
1.什么是软件测试?软件测试是软件测试人员验证是否满足用户的需求。2.软件测试和软件开发有什么区别?(1)自我发展:广度小,专业性高。测试:所需技能比较广泛,但专业性低难度大,薪资待遇,工作环境,压力,责任。...
有哪些种类的软件测试?_博客人-邮件异步社区
软件测试的分类有很多种,站在不同的观察角度,但无论哪一种都是针对测试工作的内容。1.4.1按发展阶段划分。众所周知,软件测试和软件开发是相辅相成的,所以按照开发阶段来划分应该是最容易的。根据开发阶段,软件测试...
软件测试新手入门
偶然发现了一个巨牛的人工智能教程,忍不住和大家分享一下。教程不仅零基础,简单易懂,还很幽默,就像看小说一样!我觉得很牛逼,所以分享给大家。点击这里跳转到教程。视频课程:/course/detail/23459目录前言...3软件测试过程...3提取测试点...4设计测试用例以及用例评审...4选择测试类型...5...
继续参观
软件工程——软件测试概述
测试的基本概念是1。软件测试是保证软件质量和提高软件可靠性的关键。2.软件测试的目的:发现错误。3.测试和调试的比较。测试(调试)1。从已知条件开始,使用预定义的程序,获得可预测的结果。2.查找错误1。从未知的内部条件开始,结果通常是不可预测的。...
继续参观
二十种常用软件测试方法详解(史上最全)_小武敲代码的博客...
单元测试(模块测试)单元测试是测试软件组件。其目的是检查软件组件的正确性。测试对象是:模块。测试模块,即单个模块的测试,属于一种静态测试阶段:编码之后或编码之前(TDD)。...
软件测试的各种技术
根据开发阶段,SDK:(软件开发工具包)一般是指软件工程师的特定软件包建立的开发工具的集合。单元测试手机有很多功能。女生喜欢用美颜功能。突然有一天,美颜功能不可用了。我该怎么办?只测试这个函数的代码。...
继续参观
软件测试(概念)
验证软件是否满足用户需求。不同的软件测试人员,黑盒测试工程师,白盒测试工程师,开发人员(单元测试);目的不同软件测试是检查软件的质量(基于需求);原则以客户需求为中心,遵循软件测试的规范、流程、标准和要求;简单来说,用户需求是用户期望,软件需求是用户需求的细化;WEB测试、APP测试、游戏测试、界面测试、嵌入式测试等。⑤软件测试开发工程师、测试工程师、软件开发测试工程师。兴趣、专业技能、逆向思维、发散思维、责任感和压力。初级、中级、高级、资深、组长、主管、经理、主任;(2)软件测试,测试范围广。
继续参观
什么是软件测试?
总结起来,软件测试的目的可以概括为:软件测试是用最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷来提高软件质量,避免软件发布后潜在的软件缺陷和错误所带来的隐患所带来的商业风险。随着软件工程越来越受到重视,软件规模不断扩大,软件分析和设计的作用也越来越突出。在实践中,越来越多的错误在最初的分析和设计阶段就已经存在,因此在软件需求和设计阶段进行测试是非常重要的,这是测试概念和软件完整性的扩展。软件质量是软件特性和软件满足法规或潜在用户要求的能力的总和。...
继续参观
最新软件测试(基础知识)
软件测试概念文章
继续参观
软件测试的详细说明(功能、界面、性能、自动化)
1.软件测试功能测试用例编写是软件测试的基本功;也有很多人认为测试用例是软件测试的核心;软件测试最重要的是设计并生成有效的测试用例;测试用例是测试工作的指南,是软件测试必须遵循的准则。黑盒测试常用测试用例的编写方法是1。等价类选取几个有代表性的数据,等价于这个类的其他值。找到最小的子集可以找到最多的错误;特性:必须设计的用例;涵盖大多数情况;2.边界值所谓边界条件,是指输入输出等价类中那些恰好在边界上、边界之外或边界之下的状态;特性:选择一个或多个元素,使每个等价类
继续参观
回顾过去,学习新软件测试的基础知识(详细版)
一、软件测试概述1。软件缺陷软件缺陷:又称“bug”。即计算机软件或程序中存在某些问题、错误或隐藏的功能缺陷,破坏了正常的运行能力。缺陷的表现:软件没有实现产品说明书要求的功能模块;软件中有一个错误,产品规格表明该错误不应该发生;软件实现了产品说明书中没有提到的功能需求;软件没有达到应该达到的目标,虽然产品说明书没有明确提到;软件难懂,难用,运行慢,对用户体验不友好;软件缺陷的原因:需求不明确;系统结构复杂;考虑程序逻辑路径或数据范围
继续参观
软件测试的基本知识
目录1。测试用例?编辑2。软件测试1。目标是验证产品的需求是否实现(产品的需求能够被完全理解)。2.测试用例是通过各种方法设计的。3.测试用例的三个核心元素。4.测试用例的重构。2.软件测试1。软件测试的目的是发现缺陷。2.什么是测试用例?3.测试用例4的八个元素。什么是缺陷?5.一般原则。软件测试过程。测试模型8。测试案例:...
继续参观