软件测试概述与学习计划

软件测试的理论知识

一.日后将进行的学习计划
测试理论知识
接口测试
APP测试
Linux操作系统
MySQL数据库
软件测试项目实战

二.软件测试的定义、目的、原则
1.定义:
是在规定的条件下对程序进行操作,以及发现程序错误,衡量软件质量,并对其是否满足设计要求进行评估的过程。
是使用人工或者自动手段对系统运行或测试的过程,其目的在于检验系统是否满足规定的需求,或者弄清预期结果与实际结果之间的差异。

get到这些点:
规定的条件—》一定的环境下(开发环境、测试环境、真实环境)
目的:衡量软件质量;是否满足规定的需求
方式:人工、自动化
周期:过程(测试需求分析、测试计划、测试设计、测试执行、测试评估)

2.目的:
发现程序存在的代码或业务逻辑错误。
检验产品是否符合用户需要。
提高用户体验。

3.原则–经验性原则
1.所有的测试活动都应以用户需求(软件需求规格说明书)为标准。
2.应尽早的和不断进行软件测试,越早发现缺陷,修复缺陷的成本就越低。
3.程序员应尽量避免检查自己的程序,测试人员应避免执行自己写的测试用例。
4.尽量避免测试的随意性。
5.测试的“杀虫剂效应”—即改变思维方式、操作习惯。
6.完全(穷举)测试是不可能的,测试需要终止—即时间、成本、组合太多(无法全部覆盖)。
7.二八原则(聚集效应)—即大部分bug集中在少部分的模块中。
8.对错误的结果要进行一个确认过程。
9.制定严格的测试计划。
10.设计测试用例时应该考虑到合法的输入和不合法的输入,以及各种边界值条件,特殊情况下还要知道极端状态和意外状态。
11.妥善保存测试过程中的所有文档。

三.软件测试的对象
对象:软件、产品、项目、系统
程序(源码、模块、部件、软件)
文档(需求规格说明书、概要设计说明书、详细设计说明书、用户手册(帮助文档)等)
数据(字符、图片、视频、音频等)
60%以上的软件错误并不是程序错误,而是分析和设计错误。
测试概念扩大化,提倡软件全生命周期测试的理念。

四.软件测试的分类
1.按测试技术划分
黑盒测试:不关心软件内部,只关心输入输出,主要测试依据是需求文档。
白盒测试:关心软件内部设计和程序实现,主要测试依据是设计文档。
灰盒测试(接口测试):灰盒测试是介于白盒测试与黑盒测试之间的测试。
关注输出对于输入的正确性;同时也关注内部表现。

2.按测试阶段划分
单元测试(即使用白盒测试方法)、
集成测试(即使用接口测试方法)、
系统测试(即使用黑盒测试方法)、
验收测试(即使用黑盒测试方法,又分为正式验收测试、Apha测试、Beta测试)
Apha测试(可以理解为游戏内测):α测试是用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。这是在受控的环境下进行的测试。
Beta测试(可以理解为游戏公测):β测试是用户在实际使用环境下进行的测试,与α测试不同的是,开发者通常不在测试现场。因而,β测试是在开发者无法控制的环境下进行的软件现场应用。

3.按被测试对象是否运行划分
静态测试:指不运行程序,对程序和文档进行分析与检查
程序检查:程序员交叉检查彼此的代码—》发现代码层面的问题。
文档检查:文档测试(术语、图片、操作流程)—》由测试人员完成。
动态测试:指通过人工或使用工具运行程序进行检查分析程序的执行状态和程序的输出。

4.按不同的测试手段划分
手工测试、自动化测试

5.按软件测试质量特性内容划分
功能测试、界面测试、安全测试、兼容性测试、易用性测试、性能测试、压力测试、负载测试、恢复测试

6.其他测试
冒烟测试(主干测试)、回归测试、探索性测试(测试思维)
回归测试示例:
V01–》冒烟测试–》通过–》正式系统测试–》出具版本 告–》pass–》验收测试
–》fail–》打回给开发,修改bug,重新分版本
回归测试:
验证bug是否被修改。
是否引入新的bug。
探索性测试:
常运用于项目后期,时间充足且人员技术能力比较高的条件下。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年6月6日
下一篇 2021年6月6日

相关推荐