软件测试理论知识

软件:有程序,数据和文档 工程化:系统化,模块化,规范化,可度量化(可用数字表示的) 工程的定义:使用工程化的思想完成复杂的对人类有意义的过程 软件工程:

 

软件:有程序,数据和文档

工程化:系统化,模块化,规范化,可度量化(可用数字表示的)

工程的定义:使用工程化的思想完成复杂的对人类有意义的过程

软件工程:使用工程化思想开发符合用户需求的软件的过程

目标:在时间,资源,人员的限制条件下构建满足用户需求的软件产品

Prd:产品需求文档

项目:在有限的时间和资源(人力物力财力)限制下,为达到某一独特目标而做的一系列活动的集合。

软件的生命周期:

1 可行性分析(经济可行性,技术可行性,社会环境因素--可行性分析报告)

2 需求分析(需求规格说明书)

3 概要设计(设计软件系统构架、接口、数据库设计---概要设计说明书)

4 详细设计(设计模块处理逻辑----详细设计说明书)

5 编码(编写源代码)

6 测试(对比实际结果和预期结果是否一致)

7 运维

 

软件开发模型

 

 

 

 

 

 

软件测试的定义:使用专用的方法,手段和工具检测软件是否符合用户需求的过程。

 

软件测试的目的:找出软件中的缺陷,检查软件是否符合用户需求。

 

按测试阶段划分:

 

 

 

 

 其他测试:

 

1 回归测试 :验证bug是否修复,再次执行失败的用例

 

2 冒烟测试:进行详细测试之前,检查重要功能是否可用

 

3 探索性测试(思考):它是一种经过深思熟虑的测试方式,没有测试脚本,可以使你的测试超出各种明显已经测试过的场景

 

4 即兴测试:想怎么测就怎么测

 

软件工程师具备的素质:

 

1五心:细心、耐心、责任心、自信心、专心

 

2实事求是:不要夸大问题、不要虚报问题

 

3具有逻辑分析能力

 

4具备团队合作精神

 

5具备较强的沟通能力

 

6具备编程能力

 

7不断总结经验教训,不断学习专业知识(学习能力)

 

8怀疑精神(相信任何软件都存在缺陷)

 

9 原则

 

10缺陷无论大小都要上报,不可复现的问题也要上报

 

!软件测试流程:

 

1 需求熟悉与确认

 

2 制定测试计划(项目负责人)

 

3 评审测试计划()

 

4 编写测试用例

 

5 评审测试用例(三方评审 产品经理,项目经理,测试人员)

 

6 准备并搭建测试环境(一般开发搭建,开发把编码放在服务器上,测试找)

 

7冒烟测试

 

8执行测试用例

 

9提交并跟踪bug

 

10回归测试

 

11编写测试报告

 

12 版本发布上线

 

13总结项目经验教训

 

 

 

 

测试产物:

 

1 测试需求

 

2 测试计划

 

3测试策略

 

4 测试用例

 

5缺陷报告

 

6测试报告

 

测试对象

1需求规格说明书

2概要设计说明书

3详细设计说明书

4 代码

5 用户手册

6 维护手册

 

测试用例定义:为了某个目的(验证软件的特性是否符合需求)而编写一组包含测试执行条件,测试输入和预期结果等的集合

执行条件就是前置条件(范围)

前置条件是对系统状态的描述

为什么要用测试用例:1理清思路,避免遗漏

                    2 便于跟进测试进度

                    3 历史参考

                    4 可重复使用

 

测试用例组成:测试用例编号、测试点(测试用例标题)、前置条件、测试步骤、预期结果、执行结果、优先级、备注、测试类型等

执行结果:pass通过、 fail 失败、 block 阻塞

N/A 不适合

 

好测试用例具备的特点:

1能够高效的发现软件中的缺陷

2 测试用例覆盖度高

3 冗余度小(简化)、可重复性好

4易于维护

测试用例管理软件"

1 Excel 表格

2 testlink

3 禅道

4testdirector(TD)

5 Xmind(思维导图)

编写测试用例的途径:

1根据需求设计测试用例

2通过bug反推,修改补充测试用例

 

 

 

 

Bug报告单的组成:bug ID、bug标题、bug描叙、严重级别(对软件的影响)、优先级、功能模块、bug状态、复现步骤、附件(例如截图)、备注、测试版本、缺陷分类

 

为什么有bug报告单:

1能够清晰准确有条理将软件中的缺陷描述出来,便于开发人员理解

2 加快缺陷修复的速度

3便于质量的控制

4能够衡量测试人员的工作能力

好的bug报告单具备的特点:

1内容准确

2内容清晰

3步骤简洁

4结构完整

5风格一致

Bug管理工具:

1 禅道

2 jira

3 mantis

4 bugzilla   5 redmine

 

内存泄漏:进程只申请内存空间使用,使用完后不释放

 

黑盒测试用例设计方法:

1等价类划分法:是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值

2边界值分析法:就是对输入或输出的边界值进行测试。该方法通常作为对等价类划分

3场景法:就是通过用例场景描述业务操作流程,从用例开始到结束遍历应用流程上所有的事件流             流程如下

1分析需求画流程图

2确认基本流和备用流

3确认场景

4根据每一个场景,编写测试用例

 

Bug管理流程图

 

 

 

 

遇到争议的bug时:

首先测试人员和开发人员沟通商讨,测试人员站在客户的角度上向开发人员提出建议,最后把问题反馈给产品经理,有产品经理定夺。

遇到不可复现的bug时:

首先要提交bug单,回忆以前的操作步骤,与开发人员商讨给测试人员提出复现建议,最后在后期版本中留意。如果复现不了。再有三方协商 商讨是否关闭bug

 

 

制定测试计划步骤:

1测试目的

2测试范围(功能,安全等)

3任务分解()

4任务分配(任务排期)

5风险评估与应对(对可能发生的事情进行解决)

策略:要达成某个目的,采用的方法

 

测试报告内容:

一简介

 1编写目的

2项目背景

3参考资料

二 测试概要

1 时间测试

2测试范围

3版本

4测试用例

三 结果分析

1趋势

2按模块分布

3遗留情况

4统计

四结论建议

1结论

 

写测试用例步骤:

1需求理解(需求来源、需求解决什么问题的、需求规格)

2需求细化

3编写测试点(标题)

4编写测试用例

5评审测试用例