admin管理员组

文章数量:1646244

测试先导性知识

测试是什么?

在规定的条件下对程序进行操作去发现错误,然后对软件质量进行评估的一个过程。

需要注意的是,软件是由文档、数据以及程序组成的,所以对软件测试应该包括:软件形成过程的文档、数据以及程序,而不仅仅是对程序进行的测试。

测试的目的、作用

通过测试工作发现问题并及时报告给开发,让开发修复软件当中潜在的各种错误和缺陷,提高软件质量,进而提高用户对产品的使用信心,避免软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。

测试可以记录软件运行过程中产生的一些数据,从而为决策提供数据支持
(比如抢火车票,你模拟用户测试,最终测出的流量上限是1个亿。那高层拿到你的测试数据后就可以去决策这个上限能否让软件投放市场)

测试可以降低同类型产品开发遇到问题的风险。(参考同一公司的微信和qq,都是社交软件,qq踩过的坑可以让微信规避掉)

测试的原则

不能执行穷尽测试:有些功能是没有办法将所有的测试情况都逻列出来

缺陷存在群集现象:对于软件功能说,核心功能占20%,非核心是80%。在实际工作中我们会集中测试20%的核心功能,所以这个部分发现缺陷的几率就会高于80%。因此我们就会遇到缺陷都集中在20%功能模块里的现象。

某些测试需要依赖特殊的环境:像有些手机不考虑冬天的情况,温度低的时候电量掉的快

测试应尽早介入:为了更多的发现和更好的解决软件中的缺陷,我们追求测试工作尽早的开展

杀虫剂现象:同样的一个测试用例不能重的执行多次,因为软件会对它产生免疫( 开发会根据你 的用例去修改,你再测同样的用例肯定能过关的或是被开发蒙混过关)

不存在缺陷谬论:任何软件不可能是完美的。

测试测什么?(测试对象是什么)

1.需求分析阶段:各种需求规格说明书
2.软件架构设计:API接口文档(接口测试)
3.编码实现阶段:源代码(白盒测试、单元测试)
4.系统功能使用:软件功能主体(当前行业做的最多的一种测试)

测试计划工作的关键是什么?

明确测试的目标,增强测试计划的实用性,明确内容与过程
采用评审和更新机制,保证测试计划满足实际需求
需要分别创建测试计划与测试详细规格、测试用例

测试基础理论

软件测试模型有哪些?

瀑布流

项目计划—>需求分析—>软件设计—>编码—>测试—>运行维护

优点:
软件开发的各项活动严格按照线性方式进行
前一阶段完成后,只需关注后续阶段

缺点:
难以适应需求的频繁变化
早期的错误可能要等到开发后期的阶段才能发现

V模型

W模型

还有X模型、H模型

软件的生命周期(软件开发的流程)

需求分析
软件设计(概要设计、详细设计)
软件编码
软件测试(单元测试、集成测试、系统测试、验证测试)
运行维护

详细介绍

软件产品质量特性是什么?

功能性、可靠性、效率、易用性、可维护、可移植

功能性

定义:软件在指定的使用环境下,满足用户显性或隐性需求的能力
适合性:软件为指定的任务和用户目标提供一组合适功能的能力
准确性:软件提供具有所需精确度的正确或相符的結果或效果的能力
互操作性:软件与一个或更多个的规定系统进行交互的能力

可靠性

定义:软件在指定的条件下使用,维持规定的性能级别的能力
成熟性:软件为避免由软件中错误而导致失控的能力,
容错性:在软件出现故障或违反指定接口的情况下,软件维持规定性能级别的能力,
易恢复性:在失效发生的情况下软件里重建规定的件能级别并恢复受直接影响的数据的能力
可靠性依从性:软件遵循与可靠件相关的标准,约定以及法律法规的能力

效率

定义:在规定的条件下,相对于所用资源的数量,软件提供适当性能的能力
时间特性:在规定的条件下软件执行其功能时,提供适当的响应和处理时间以及吞吐率的能力
资源利用性:在规定的条件下软件执行其能力时,使用合适的资源数量和类别的能力
效率依从件:软件遵循与效率相关的标准和约定的能力

易用性

定义:在指定的条件下使用时,软件被学习,理解,使用和吸引用户的能力
易理解性:软件的使用,用户能理解软件是否合适,以及如何将软件用于特定的任务和使用环境的能力
易学习:软件使用户能学习其应用的能力易操作性:软件使用用户操作和控制它的能力
吸引性:软件吸引用户的能力
易用性依从性:遭循与易用性相关的标准、约定风格指南或法规的能力

可维护

定义:软件可被修改的能力,修改可能包括修正、改进或软件对环境、需求和功能规格说明变化的适应性
易分析性:软件诊断软件的缺陷,失效原因或识别待修改部分的能力,
易改变性:软件指定的修改可以被实现的能力
稳定性:软件避免由于软件修改而造成意外结果的能力,
易测试性:软件使已修改软件能被确认的能力
可维护依从性:遵循与维护相关标准和约定的能力,

可移植

定义:软件从一种环境迁移到另一种环境的能力
适用性:软件能适用于不同的环境的能力
易安装性:软件在指定环境中被安装的能力
共存性:软件在公共环境中同与其分享公共资源的其他独立软件共存的能力
易替换性:软件在同样的环境下,替代另一个相同用途的指定软件产品的能力
可移植性依从性:软件遵循可移植性相关的标准和约定的能力

如何判断是Bug(Bug的定义,缺陷的定义)

只要满足下列5个规则之一则称为发生了一个软件缺陷
软件未实现产品说明书要求的功能
软件未实现产品说明书虽未明确提及但应该实现的功能
软件出现了产品说明书指明不应该出现的错误
软件实现了产品说明书未提到的功能
软件难以理解、不易使用、运行缓慢,或者从测试员的角度看,最终用户会认为不好

Bug严重程度(Bug级别定义)

致命:系统崩溃、异常退出、严重计算错误、严重资源不足
严重:系统无法满足主要的业务要求,像业务流程错误
一般:系统可以满足业务要求但有性能缺陷或界面缺陷,像提示信息不准确
轻微:易用性及建议性问题,不影响执行工作功能,像出现错别字

Bug的生命周期

添加链接描述

Bug状态的处理(处理一个缺陷的流程)

请描述你对测试的了解

内容可以涉及测试流程,测试分类,测试方法,测试工具

测试流程(测试工作流程)

需求分析,梳理清楚我们需要设计的点是什么
编写测试计划,做什么类型的测试,需要什么样的工具
编写测试用例,用例是为了测试软件的某个功能而执行的操作过程
评审用例,对当前的用例进行添加或者删除
配置环境
执行用例,执行用例前先做冒烟测试,通过才开始正式测试
回归测试,缺陷被开发修复后进行复测
缺陷跟踪
输出测试报告,方便其它人去查看
测试结束,将整个测试过程产生的文档进行整理归档,方便后续版本使用。

本文标签: 基础理论测试