测试相关计算机基础学习

为什么要有软件测试

产品功能变得越来越复杂,犯错成本不断上升,避免上线后造成经济损失

测试的目的(定义)

以最小的人力物力,时间成本找出软件中的错误和缺陷

测试人员应该具备的素质

探索精神:乐于思考可能发生的问题,学习新的技能提高测试效率

创造性:对软件提出自己合理的建议

坚持不懈:认真踏实地执行测试计划,严谨负责地完成工作

发现问题的能力:软件出错以后思考并找出错误的原因。

沟通能力:活泼开朗,乐于与产品,开发进行沟通交流,协调工作,为完成高质量的软件而奋斗

手工测试和自动化测试

手工测试有其不可替代的地方,比如人的判断力和审美能力,都是机器不具备的

自动化测试的优点在于,可以通过脚本来完成重复性的测试工作,对经常需要回归的模块进行代码化,提升了测试的效率也解放了人力。同时自动化测试也方便进行线上巡查,保证核心功能和业务的稳定性。

测试类别

  • 外观界面(UI)测试
  • 功能测试(业务逻辑)
  • 易用性测试(好不好用,安排合不合理)
  • 性能测试(CPU,响应时间那些)
  • 兼容性测试(能不能在别的平台上运行)
  • 安全性测试(容不容易犯错)

测试流程

  1. 需求分析:阅读文档,理解需求,快速熟悉项目
  2. 制定测试计划:分配人力物力,决定测试方法和范围,时间进度安排
  3. 设计测试用例
  4. 执行测试用例
  5. 缺陷管理与追踪
  6. 测试报告

测试和开发的关系

测试和开发的目标都是相同的,为了完成高质量的产品

开发注重从无到有,测试注重从有到优

有冲突时,是正常的,大家都是为了完成好的产品。首先测试人员应该重新阅读需求文档保证测试的正确性,确认无误后可以与同事进行讨论,这到底是不是一个BUG;如果还是不能解决问题,可以将开发和产品集中到一起讨论,再进一步则可以请示上级进行判断;同时也应该留意相关问题,以便下次在需求评审和测试用例评审的过程中提出,减小犯错成本。

按阶段分

单元测试:模块,函数,类,方法;一般由开发人员或白盒测试自己完成

集成测试:模块与模块间的内容;还是一般由开发或者白盒完成

系统测试:软件APP,程序,系统,网站;黑盒可以介入测试

验收测试:整个系统;媒体,用户

黑盒白盒的区别

有没有涉及到测试代码的区别

属于黑盒的测试

功能测试

  • UI测试
  • 业务测试
  • 易用性测试
  • 兼容性测试(平台,浏览器,数据兼容)
  • 性能测试(响应速度,CPU占用率,GPU占用率,内存)
  • 稳定性测试(会不会闪退)
  • 负载测试(看多人访问的时候占用的资源,直到承受不了)
  • 压力测试(保持一定负载长时间运行,看能运行多久)

动态静态测试的区别

就是程序运不运行进行测试的区别

测试用例相关

定义

为了某个特殊目标编制的一组测试输入,执行条件以及预期结果,以便测试程序是否满足某个特殊要求

良好的测试用例应该具备

  1. 有效性:能够用最短的人力物力和时间情况下测试出准确的结果
  2. 可复用性:能够进行回归测试
  3. 易组织性:容易被其他人理解并且使用
  4. 可评估性:测试用例的结果能够被作为评判软件好坏的重要指标

测试用例的要素

用例编号,标题,前提条件,测试数据,操作步骤,预期结果,实际结果,用例等级(重要程度)

黑盒测试用例设计方法

等价类划分法

有效等价类

对程序来说有意义的测试数据的集合,用于检验程序是否实现了需求说明的功能

无效等价类

对程序来说无意义的测试数据的集合,用于检验程序的健壮性和容错能力。

步骤:

  1. 确定需求
  2. 确定有效等价类和无效等价类
  3. 对每个等价类设计测试用例

边界值测试法

选取程序设定的边界大一点,小一点,边界本身的数据进行测试

和等价类划分的区别在于,等价类可以挑选等价范围内的任意数据作为代表,边界值要求每个边界都作为测试数据

判定表法

条件桩:列出了问题的所有条件

条件项:具体条件的取值

动作桩:列出了所有可能耳朵操作

动作项:具体可能采取的操作

场景法

主要用于冒烟测试

现在的软件几乎都由事件触发流程,触发流程时便形成了场景,根据不同的事件触发形成事件流。

错误推断法

根据测试人员的经验推测哪里容易犯错或者可能犯错,设计测试用例

实际过程中方法的选用

  • 业务流程是否正确实现,考虑场景法
  • 需要输入数据的地方考虑等价类划分法
  • 所有地方都用边界值
  • 组合条件使用判定表法
  • 错误推断法追加测试用例

白盒测试用例的设计方法

逻辑覆盖法

通过对程序的逻辑结构的遍历,实现对程序的覆盖。是白盒测试中动态测试的主要技术之一

  • 语句覆盖:保证程序中每一条可执行语句执行至少一次

  • 判定覆盖:保证每个测试节点取得的每种可能的结果至少一次

  • 条件覆盖:保证复合判定表达式中,取真取假的情况至少执行一次

  • 判定条件覆盖:保证每个简单条件的真假执行一次,每个判定节点的真假也至少执行一次

  • 条件组合覆盖:所有简单条件的所有可能取值的组合情况执行至少一次

环路复杂度

V(G) = E-N+2, E是流图中边的数量,N是流图中节点的数量。

缺陷

缺陷就是问题,没完成的,多完成的和实现错误的都是缺陷

性能问题也属于缺陷的一种

缺陷报告

作用是记录测试结果,方便开发人员进行缺陷定位,作为统计的依据之一

书写原则

标题:尽量简短高概括,体现原因和结果

原则:按照描述可以复现问题

内容:

  1. 测试环境的描述
  2. 步骤
  3. 实际结果
  4. 期望结果
  5. 附件:截图,所需数据,录像
  6. 给出建议

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值