测试类型-- 按测试对象分 ※

本文详细探讨了业务测试、界面测试(包括自适应与易用性)、容错性测试、兼容性与文档测试,强调了性能测试的关键指标和安全性防护,涉及APP安装卸载及内存泄漏。


一、业务测试

  • 类似场景测试,根据需求的设定,把不同的功能点按照一定的策略组合起来,形成一个业务流。
  • 场景法,根据场景法了解每一个功能,再根据每一个功能点进行测试。

二、界面测试

  • 用户通过界面和系统进行直接交互的,界面的设计直接决定了用户的使用体验感官。
  • 为防止遗漏,根据界面从左到右从上到下扫描界面,进行测试

界面测试依据

  • UI设计师的界面设计稿:元素布局、排版、大小都标记清楚。

测试内容

  • 字体:大小、粗体、斜体、位置、字体间距、缩进、行高等;
  • 图片:排版、画面清晰、样式;
  • 控件:按钮是否可用、滚动条、CheckBox是否可用、有效状态是否高亮、无效状态置灰;
  • 删除操作:是否有提示、提示信息是否完整;
  • 整个页面元素的排版布局、背景颜色、透明度。

界面自适应测试

  • 界面大小变化的时候,字体有没有模糊、消失、重叠;
  • 界面大小变化的时候,图片有没有模糊、消失、重叠;
  • 界面大小变化的时候,功能有没有消失,是否能正常使用;
  • 界面在不同的大小下,是否与UI设计稿一致。

界面测试容易出错的问题

  • 快捷键设置不合适,例如 I(大写i),l (小写L)就会不易使用,违背设计初衷。或者出现重复的快捷键。
  • 弹出框弹出的信息,需要有正确易懂的信息。
  • 系统展示界面大小有限,文字展示不清楚。需要把界面的信息都展示出来。可以设置滚动条、或者 …显示全部(超链接)。
  • 界面有些内容没有对齐,影响界面美观,对强迫症患者很不友好!!!
  • 不合理的自动换行,排版不合理。
  • 重叠,图片、文字等重叠在一起,看不清楚,影响页面美观。

三、容错性测试

  • 当系统由于外部的一些异常操作或者外部的环境引起系统的错误,但是系统可以自我消化这些问题,不能直接展示给用户,这个叫做系统的容错性测试。

测试内容

数据级别的容错性

  • 限制输入长度,输入20位字符后就不允许输入;
  • 发红包人民币最小输入0.01,输入0.001在输入1的时候不能输入了;
  • ATM取款机限制取款输入额度。

校验级别

  • 输入框的前后空格开发时直接去掉;
  • 大小写不敏感,大小写自动转换;
  • 同一表单,填写信息前后不一致的时候,例如密码、确认密码等,如果不一样就会有提示。

界面级别

  • 对于一些危险的操作,在界面直接屏蔽掉不让用户使用;
  • 为了防止用户输入一些不符合规定的数据,直接下拉框让用户勾选;
  • 对于界面一些复杂的操作,用户可能操作错误,会提供给用户操作提示。

环境级别

  • 断电、断网、服务器瘫痪,有备选方案,可以让用户无感知切换。

四、易用性测试

  • 软件满足用户使用的标准和规范,使得用户使用软件的时候能够更加的方便(得心应手)。

为什么易用性要满足一定的标准和规范?

  • 直观性 用户能够第一眼就可以看到自己想要操作的功能,

  • 灵活性 给不同用户群体提供了不同使用功能的方式。打字键盘:26建、9建、手写。可能会带来系统设计的复杂性。灵活性和复杂性要做一个平衡。

  • 实用性 系统的功能和系统的设计关联,系统本身的功能和展示给用户的画面,信息要一致。

五、兼容性测试

1、系统兼容性

Web系统

  • web是基于浏览器的,所以兼容性主要考虑不同操作系统(windows系统、ios系统、Linux系统)下不同主流浏览器(IE、360、Chrome、火狐、搜狗、edge、UC、QQ、Opera、Safari)、相同浏览器的不同版本的一个兼容。

为什么要测试系统在不同浏览器上的兼容性?

  • 不同浏览器的内核不一样,解析出来的前端代码不一样,所以在不同浏览器上显示的效果就不一样。

APP系统

  • APP是基于手机上的应用,需要关注不同的操作系统(安卓、IOS、windows、塞班、鸿蒙)、手机品牌(三星、vivo、oppp、小米、一加;iphone不同版本;华为)屏幕尺寸的分辨率的问题,APP还需要考虑到一些专项测试,例如弱网测试、压力稳定性测试等等 。

2、系统本身向前后或者向后的兼容性

  • 系统本次迭代的功能不能影响系统之前的功能,也不能影响系统以后的新增加的功能。

3、系统和其他相关软件的兼容性

  • 例如不是腾讯系列的app,却可以用微信或者QQ直接登陆,是怎么实现的?
    • 腾讯的开发文档:去寻找接口。
      在这里插入图片描述
      在这里插入图片描述

4、数据兼容性

  • 例如支付宝、淘宝、盒马鲜生。数据共享,在淘宝上购物时使用花呗支付,账单可以在支付宝中查看。

六、文档测试

  • 正确性,文档描述的正确性。
  • 一致性,文档和系统功能描述的一致性。
  • 完整性,文档中所有的功能都描述到。
  • 易用性,用户易于使用。

七、性能测试

1、为什么要进行性能测试?

  • 系统是否 可以快速响应用户的请求
  • 在系统使用的用户高峰期,系统本身可以处理所有的用户请求
  • 在系统使用高峰期,系统还可以稳定的运行(系统不崩溃)。
  • 流量高峰期,系统不仅可以稳定运行,还可以快速响应用户的请求。超过8s就不太行。 3s/5s/8s
  • 系统可以处理预期的事务的数量。 事务是一系列密切相关的操作集合,如果一个操作失败了,那这个事务就失败了,如果所有的操作都成功,事务成功。

2、进行性能测试主要看哪些指标?

  • 响应时间 、每秒事务处理数(TPS)、点击率(HPS)、吞吐量(系统每秒处理信息的信息量)
  • 系统的软硬件配置会对系统的性能有影响(配置测试)。例如报考建议使用Chrome。

八、安全性测试

  • SQL注入、Xss注入、防攻击、防爬虫、检查到病毒。

1、SQL注入

  • slesct * from students where id= 23;但是 slesct * from students where id= 2322 or 1=1;由于1=1永远为真,所以即使id不存在,也可以查询。
  • 把一些脏数据插入,破坏数据结构。insert into students name values(‘Rpbert’);Drop Table students; 执行了一条插入、一条删除

2、Xss注入

  • 跨站脚本攻击,指恶意攻击者往web页面插入恶意脚本代码,而程序对于用户输入内容未过滤,当用户浏览该页面时,嵌入其中的web里面的脚本代码会被执行,从而达到恶意攻击用户的特殊目的。因此,一般在表单提交或者url参数传递前,对需要的参数进行过滤。https://blog.youkuaiyun.com/rraxx/article/details/115210129

九、APP的安装和卸载测试

1、安装app的方式

  • 应用商店、安装包、第三方(软件管家、豌豆荚)、扫码下载(应用商店、安装包相类似);

  • 测试人员还需要知道:命令行安装,软件包安装( iOS:apk、安卓:IPA),这两个都属于测试包。adb(安装命令,也可以认为是一个工具)

2、卸载

  • 用户可以正常卸载app。

十、内存泄漏测试

  • 在设计系统的时候,内存分配好了之后,没有及时的释放,或者由于错误的使用一些API函数,导致无法释放内存,系统就会运行越来越慢,直到崩溃。 电脑太慢,需要重启一下。
  • 导致内存泄露的原因有很多,一般都是代码级别的。例如分配内存,忘记回收;分配内存的方式有问题,造成内存无法回收的情况;API函数使用不正确,导致内存无法回收;没有及时释放。
  • 防止内存泄露:走查代码,使用工具进行检测
那根据这个方阵来看,是所有都要进行黑盒测试吗?例如,最小值,中间值,最大值?  ◆基本思想  通过按函数单位执行对象代码,  确认模块设计中记载的内容已经在源代码及基于源代码和编译环境生成的对象代码中实现。  ◆测试观点  下表显示了测试观点、概要以及判断是否需要测试的标准。  各观点的具体确认方法以观点为单位记录在各sheet中。 [注释]  表中出现的正常值、异常值、最大值、最小值、边界值的具体定义可以参考sheet[用语定义] ○:适用 △3 -:不适用 测试观点 判定执行条件 测试观点概要 用于SW单元验证的方法 SW单元测试中导出测试用例的方法 SW单元测试中的结构覆盖率指标 SW架构层级的结构覆盖率 基于需求的测试 接口测试 故障注入测试 资源利用评估 在适用情况下,模型与代码之间的对比测试(Back-to-Back Test) 需求析 等价类的生成及析 边界值析 基于知识或经验的错误推测 命令覆盖率(C0) 支覆盖率(C1) MD/DC(修正条件/判定覆盖率) 函数覆盖率 调用覆盖率 T7_1j T7_1k T7_1l T7_1m T7_1n T8-1a T8-1b T8-1c T8-1d T9_1a T9_1b T9_1c T12_1a T12_1b 1. 覆盖范围 1.1 C0、C1覆盖率 无条件(必须执行) 为了检测判定及相关处理与式样的不一致, - - - - - - - - - ○ ○ - - - 以满足C1覆盖率(支网罗)的测试模式进行检查。 1.2 MC/DC 无条件(必须执行) 为了检测构成判定的各个条件及其相关的处理与式样之间的不一致, - - - - - - - - - - -- ○ 创建符合MC/DC(Modified condition/decision coverage)100%的测试模式 并进行检查。 1.3 循环 存在循环处理 用网罗性的测试模式对循环的条件、处理进行检查。 ○ - - - -- - - - - - - - 1.4 赋值处理 存在变量赋值处理 确认是否可以按照预期值进行赋值。 ○ - - - -- - - - - - - - 1.5函数调用 存在函数调用 确认是否按照正确的顺序和方法调用了合适的函数。 ○ - - - -- - - - - - - - 2. 边界判定 2.1 边界判定 存在对连续值的条件判断 检查在每个条件中使用的算术运算符(>、≥、<、≤、==、≠)和边界值没有错误, ○ - - - - ○ ○ ○ - - - - - - 以检测与式样不同的判定。 3. 溢出 3.1 溢出 存在 为了检测因溢出导致的非预期运算结果, ○ -- - - - -- - - - - 算术运算、移位运算、 通过类型的上下限值/最大值、最小值创建测试模式并进行检查。 从大类型转换到小类型 3.2 最大值/最小值保护 存在保护处理 如果存在保护处理,在运算结果超过最大值/最小值时, ○ - - - --- - - - - - 会执行保护处理,确保值被限制在保护值范围内。 模块设计书上明确记载有意省略保护处理时,   仅限单元测试可忽略上述检查。 4. 零除 4.1 零除 存在除法 为了检测因除以0出现的预期外运算结果, ○ -- - - - -- - - - - 设计母= 0的测试模式进行检查。 5. 数组引用 5.1 数组引用 存在数组引用 为了检测数组越界引用,当通过变量指定数组元素时, ○ - - - - - - ○ ○ - - - - - 需要设置并确认该变量可能取的最大值和最小值。 此外,对于函数中的所有数组引用位置, 需要确认不存在数组越界引用并附上证据。 6. 指针引用 6.1 指针引用 存在通过指针引用值 为了检测非预期的不正引用(未配区域的指针) ○ - - - - - - -- - - - - 需要确认所引用指针变量的内容或地址值。 7. 中断禁止/允许 7.1 中断禁止 有中断禁止・许可处理的情况 目视确认是否有预期外的中断禁止/允许。 ○ - - - -- -- - - - - 8. map读取 8.1 map读取 存在map读取 在进行地图运算时,为了确认是否进行了预期外的运算, ○ - - - -- ○ ○ - - - - - 需要检查地图的小于最小值、中值和大于最大值的值这三点。 9. 处理间的协调性 9.1 执行顺序 存在共享输入・输出变量的处理 确认相关处理之间的执行顺序是否正确。 ○ - - - -- - - - - - - - 9.2 优先级 在某些条件下有执行排他性的处理 当存在多个具有可同时满足执行条件的处理, ○ - - - -- -- - - - - 但仅执行其中一部时, 需要确认是否按照正确的优先级选择了执行的处理。 10. 前回值保持 10.1 前回值保持 根据条件更新或不更新静态变量 如果存在不对静态变量进行处理的条件, ○ - - - -- - - - - - - - 需要确认在该条件下前回值是否被保持。 11. 绝对值 11.1 绝对值 存在绝对值运算 如果存在绝对值运算,设置类型的最小值,确认是否有预期外的动作。 ○ -- - - - -- - - - - 12. 最大・最小值选择 12.1 最大・最小值选择 从多个元素中, 确认从多个元素中选择最大值或最小值的处理是否正确。 ○ - - - -- - - - - - - - 选择最大值或最小值的处理情况 13. 常量 13.1 常量 常量有定义 确认常量值的定义是否与式样书一致。 ○ - - - -- - - - - - - -  ◆测试执行二进制生成指南  单元测试基本上应使用在项目指定的编译环境(包括工具集选项指定)中  生成的目标代码以及可执行的环境来实施。  然而,由于测试环境的限制,将测试用执行二进制文件所需的所有目标代码  都在项目指定的环境中生成并用于测试,有时可能无法实现。  下表列出了在测试实施时更改编译环境时需要遵守的事项,以及允许更改的项目。 compiler option "编译对象: 包含测试目标单元的模块" "遵循PJ指定的标准 【例外】 ・在使用验证函数对象单元行为的测试环境时,无法验证被内联展开的函数调用。在这种情况下,允许指定关闭内联展开的选项。 (此时仅对源代码的实现进行验证,而不针对技术上无法验证的对象进行验证)" "编译对象: 桩(Stub)・驱动程序(Driver)" 任意 linker option 影响测试目标模块的二进制逻辑的选项 遵循PJ指定的标准 "上述以外的选项: 例: ・删除可执行二进制文件中不使用对象的选项 ・输出 map 文件的选项" 任意
最新发布
12-02
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值