希望能起到帮助,博主主页:
https://blog.csdn.net/qq_57785602/category_12023254.html?spm=1001.2014.3001.5482
软件测试理论
测试的依据:
需求,规格说明,模型,用户需求等
什么是软件测试
描述一种来促进鉴定软件的正确性,完整性,安全性和质量的过程
软件测试是在有限资源的约束,如何去尽可能发现软件缺陷的技术和管理活动,理想结果是实现测试代价和测试质量的最佳平衡。
软件测试最重要的是什么?
尽可能的发现软件的错误,软件尽可能的符合用户需求,确保软件的质量。
为什么要做软件测试
因为如果不做软件测试的话,在产品发布之前很难知道产品的质量,测试也需要知道产品的质量保证,这个时候就会做软件测试的工作。在测试时发现的软件存在的错误,告诉开发,及时修改,在软件发布时软件报告即可知道软件的质量,软件测试是为了发现错误而执行的程序的过程。
软件测试流程?
需求分析-概要设计测试-详细设计测试-单元测试-系统测试-验收测试
软件测试的策略?
软件测试的策略:在一定的软件测试标准下,测试规范的指导下,依据测试项目的特定环境约束而规定的软件测试的原则,方法,方式的集合。
质量特性:
功能性,易用性,性能效率,可靠性,兼容性,可靠性,信息安全性,维护性,可移植性
测试脚本:
测试脚本通常是一个特性测试的可以被自动化工具执行的一系列指令,脚本可以在工具中通过录制测试操作生成,也可以把脚本语言直接编写。
编写测试用例需要了解产品需求
确认需求,梳理需求,确认测试范围,制定测试计划,根据测试计划编写测试用例,执行测试步骤。
为什么要写测试用例?
提高测试效率
提高测试覆盖率
监控测试进度情况
质量的标准指标
以防开发提bug说用例没有写(这个个人理解对于刚接触测试的来讲,一般最好写完用例可以找前辈了解一下)
用例包括八要素
用例编号,所属模块,用例标题,前置条件,用例级别,测试输入,操作步骤,预期结果
什么是测试用例?
测试用例是为了实施测试而被测试系统提供的输入数据,操作或各种环境的设置以及期望的一个特定集合。
什么是测试脚本?
测试脚本是为了进行自动化测试而编写的脚本。
测试脚本与测试用例的区别?
编写测试脚本必须编写相对应的测试用例
测试用例的设计方法:
等价类,分类树,边界值,因果图,场景法,语法测试,组合测试,判定表测试,随机测试,状态转移测试等
常用的测试用例设计方法?
白盒测试:逻辑覆盖,循环覆盖,基本路径覆盖
黑盒测试:等价类,边界值,因果图,判定表,场景法,错误推测法,探索法,检查表法等
等价类:
等价类就是一种典型的黑盒测试方法。它把程序的输入域划分为若干部分(子集),然后从每个部分中选取少数代表性的数据作为测试用例,每一类的代表性数据在测试中的作用可以等价与这一类中的其他所有值。
等价类分为有效等价类与无效等价类
有效等价类指的是对程序的规格说明来说是合理的,有意义的输入数据的集合。利用有效等价类可以校验程序是否实现了规格说明书中所规定的功能与性能。
无效等价类与有效等价类相反,是那些对于程序的规格说明来说是不合理或者无意义的输入数据的集合。
等价类的划分原则
按区间划分,按数值划分,按数值集合划分,按限制条件划分或者规划划分,按处理方式划分
分类树
分类树是另一种对程序的输入域划分子集的方法。他将输入域分割成若干个独立分类,每个分类再根据一定的准则再次划分类和子集,直到将整个输入域划分成一些不可划分的子类集合中。
输入域作为树的根节点,分类作为分支节点,类或子类作为叶节点
边界值:
边界值测试是由长期的测试工作经验所提测的一个关键假设:错误更容易发生在输入域的边界值或者极值附近,而非输入域的中间值。
语法测试
对于使用语法形式化方法的软件规格说明,考虑到形式化的语言是具有严格的语法语义定义的,可以使用形式化语法作为测试设计的基础。分为正面测试与负面测试
正面测试:设计的测试用例应以各种方式覆盖有效语法
负面测试:设计的测试用例应故意违反规格语法
判定表测试
判定表展示出输入条件与输出结果的对应关系。判定表测试以判定表的形势使用测试项条件(原因)和动作(结果)之间的逻辑关系(判定规则)模型。
条件桩:列出问题的所有条件
动作桩:列出问题规定可能采取的操作
条件项:列出针对它的所列出条件的取值
动作项:列出在条件项的各种取值情况下应该采取的动作
规则:任何一个条件组合的特定取值以及相对应的操作。
因果图:
因果图是一种简化了的逻辑图,能直观的表明输入条件与输出动作之间的因果关系
场景法:
软件几乎都是用事件触发控制的流程,事件触发时场景便形成了场景,而面向同一事件不同的触发顺序和处理结果就形成了事件流。
随机测试:
随机测试的目的就是:在选定输入分布模型内生成被测软件的输入参数,形成一个测试集。
软件测试原则:
溯源性原则,工程性原则,独立性原则,合理性原则,不完全性原则,相关性原则,可结束原则,风险性原则
测试都分为哪些?
白盒测试,黑盒测试,灰盒测试
单元测试,集成测试,回归测试,冒烟测试,验收测试,版本测试,系统测试,自动化测试等
黑盒测试也称为功能测试,基于规格说明的测试,被测试的内部结构是不可见的,把被测试的软件视为黑盒子,按照测试用例输入,以及相应的输出,对软件的实现进行确认。
白盒测试又称为结构测试,基于结构的测试中,被测软件的结构(源代码或者模型结构)是设计测试用例的主要信息来源,对于白盒测试,被测软件的内部是透明可见的。
黑盒测试与白盒测试的区别
白盒测试需要从代码发现内部代码,溢出,路径,条件等等中的缺点与错误,进行更改。而黑盒测试着重测试软件的功能。黑盒测试不能代替白盒测试,黑盒测试与白盒测试是互补的测试方法,黑盒测试容易发现白盒测试不容易发现的错误。
基于质量的特性测试分为:
功能性测试,性能效率测试,易用性测试,可靠性测试,信息安全性测试,维护性测试,兼容性测试,可移植性测试等
功能性测试:
功能性测试用于评估软件产品在指定条件下使用时,提供满足明确和隐含要求的功能的能力。功能性测试既包括单个功能点测试,还包括业务流程测试和主要的场景测试。
性能效率测试:
性能效率性测试用于评估在指定条件下使用的资源数量的性能。这里的资源包括软件产品,系统的软件和硬件的配置。
易用性测试:
易用性测试指的是在指定的使用周境中,测试产品或系统在有效性,效率和满意度特性方面,为了指定的目标可为指定用户使用的程度。
易访问性测试:
易访问性测试的目标在于评估在指定的使用周境中,为了达到指定的目标,产品或者系统被具有最广泛的特征和能力的个体所使用的程度。
可靠性测试:
可靠性测试用于评估系统,产品或者组件在指定条件下,指定时间内,执行指定功能的程度。
信息安全性测试:
信息安全性测试用于评估系统与产品保护信息和对数据的程度,以使用户,其他产品或者系统具有与其授权一致的数据访问度。
维护性测试:
维护性测试用于评估产品或系统能够被预期的维护人员修改的有效性和效率的程度。
兼容性测试:
兼容性测试由于评估在共享相同的硬件或者软件环境的条件下,产品,系统或组件能够与其他产品,系统或组件交换信息或执行其他所需功能的程度。
可移植性测试:
可移植性测试:用于评估系统,产品或者组件能够从一种硬件,软件或者其他运行(或使用)环境迁移到另一种环境的有效性和效率的程度。
基于结构测试的测试技术:
静态测试:在不运行代码情况下,通过一组质量准则或者其他准则对测试项进行检查的测试。
动态测试更关注与分支,语句,路径,调用等程序结构的覆盖,为了设计较少的用例,达到更高的覆盖率甚至是100%的覆盖率,动态测试关键的是用例的设计。
静态测试相对于动态测试而言,它可以由人工进行,充分发挥人的逻辑思维的优势,也可以借助软件工具进行的。
APP测试性能指标
内存,CPU,流量,启动速度
APP闪退的原因
手机运行程序过多,病毒,网络问题,缺少数据包,APP版本问题,缓存垃圾过多,手机杀毒软件的拦截,网速问题,分辨率不兼容,系统不兼容等
Web测试与APP测试的不同点
系统架构web一般是b/s架构,APP是c/s架构
Web测试只要更新了服务端,客户端就会同步更新。
APP测试需要服务器和客户端都更新才可以。
性能
Web测试主要关注响应时间
APP测试需要关心:流量,电量,CPU,GPU,memory等
兼容性
Web测试需要兼容各个浏览器,电脑硬件和电脑系统方面的兼容,不比考虑安装卸载
APP测试需要关注分辨率,屏幕尺寸,手机型号,操作系统,网络等,测试安装,更新,卸载,还需要考虑到断网时的异常情况。
Bug等级缺陷
缺陷一般分为4个等级:致命,严重,一般,轻微
致命:程序异常,APP闪退
严重:指主要功能存在缺陷或者非主要功能缺陷
一般:指非主要功能存在的缺陷,但是不影响正常使用或者有代替方案
轻微:指界面或者文字轻微显示错误
如果不能复现/复现条件不知道的bug需要在禅道提交吗?
需要的,我们在提交bug的时候需要求证出复现条件,遇到bug,首先截图留下证据,再次依据刚才的操作,重新复现,如果复现成功,直接提交bug单;复现失败,提交bug,找到开发告诉他这个bug的存在;如果情况不急的话,可以慢慢寻找复现条件/让开发尝试,如果情况紧急,找到产品,询问这样是否可以接受,可以接受先把bug留着,不能接受,找到开发,让开发一起帮忙寻找。
测试中遇到的风险:
需求评审达不到预期目标;
测试用例评审不合格;
测试人员不稳定;
根据测试计划的时间不能完成测试任务;
验收测试不合格;
即将发版产品增加新需求;
即将发版,由于客观原因导致环境异常;
Bug包括哪些?
所属产品,所属模块,所属需求,所属项目,所属执行,影响版本,bug类型,bug标题,步骤,结果,期望,优先级,当前指派,严重程度,优先级,bug编号
什么是软件质量?
软件质量就是软件是否符合叙述的功能和性能要求,文档明确描述的开发标准以及所有专业的开发,软件应该都具有隐含特征的程度,正确性,可理解性,可移植性。
软件质量质量特性包括哪些?
兼容性,可移植性,可维护性,功能性,可靠性,可使用性等
软件测试的v型模型
用户需求------------------------------验收测试
需求分析-------------------------系统测试
概要分析-----------------------集成测试
详细设计-------------------单元测试
编码
https://blog.csdn.net/qq_57785602/category_12023254.html?spm=1001.2014.3001.5482
图片网上找的,文章看书或者是平常逛博客看到的,如有侵权请联系我