测试理论

软件:计算机程序、程序所用的数据以及有关的文档资料的集合。

软件测试:在规定的条件对软件进行操作,以发现错误,对软件质量进行评估。

测试目的:提高软件质量,发现软件缺陷和错误,对软件质量进行评估。

开发模型:瀑布模式、vwxh、螺旋模式

1、瀑布模型

计划,需求分析,设计,编码,测试,运行与维护

优点:上一阶段的变换结果是下一阶段的变换的输入,相邻两个阶段具有因果关系,紧密相联。可用于迭代。

缺点:突出缺点是不适应用户需求的变化。

2、V 模型

规格说明书,需求分析,概要分析,详细分析,编码,单元测试,集成测试,系统测试,验收测试

优点:强调了在整个软件项目开发中需要经历的若干个测试级别,并与每一个开发级别对应

缺点:未明确指出对需求和设计的测试,前期的错误要在验收阶段才能发现。

3、W 模型

1)需求分析,概要设计,详细设计,编码实现,模块集成,系统构建,系统安装

2)需求测试,概要设计测试,详细设计测试,单元测试,集成测试,系统测试,验收测试

优点:有利于尽早发现问题

缺点:不支持迭代

软件生命周期

需求,设计,编码,测试,维护,升级,废弃

软件测试流程

1、需求分析(需求人员,客户,产品组)

2、测试计划(测试老大)

3、测试方案(测试人员)

4、测试用例(测试人员)

5、用例执行(测试人员)

6、测试报告(测试老大和有经验的测试人员)

测试结束条件

需求覆盖率达标,用例执行达标,缺陷遗留率达标,软件质量目标达标。

测试开始条件

软件测试在项目启动、需求分析的时候开始时候随之开始。

软件测试类型

1、按测试阶段进行划分:

1)单元测试(对软件中的最小可测试单元进行检查和验证。对象是代码,程序员自测)

2)集成测试(所有模块按照设计要求组装成为子系统或系统进行测试。对象是模块,程序员或者测试人员)

3)确认测试(目的是向未来的用户表明系统能够像预定要求那样工作)

3)系统测试(目的是验证系统是否满足了需求规格的定义,范围是:功能,安全,兼容,性能,界面,安装卸载,易用性)

4)验收测试(确定产品是否能够满足合同或用户所规定需求的测试)

a.非正式验收测试

А(alpha)测试:软件开发公司组织内部人员模拟各类用户行为对即将上市的产品进行测试。

?(beta)测试:软件开发公司组织各方面的的典型客户在日常工作中实际使用,并要求用户报告异常情况、提出改进意见,然后公司再进行完善。

b.正式验收测试

有正规的测试过程,需要制定测试计划、定义测试方案、选择测试用例,进行测试,结果提交。

2、按是否运行程序划分:

1)静态测试(桌面检查、代码审查,检查代码、界面、文档)
2)动态测试(实际运行被测试的软件,输入相应的测试数据,检查实际的输出结果是否和预期结果相一致的过程)

3、按是否看代码划分:
黑盒测试(也称功能测试,不管内部逻辑和内部特性,只依据规格说明书检查程序的功能是否符合功能说明。)
白盒测试(也称为结构测试。着重于程序内部结构和算法,不关心功能和性能指标。)
灰盒测试(介于白盒和黑盒测试之间,基于程序运行时刻的外部表现同时又结合程序内部逻辑结构来设计用例,执行程序并采集程序路径执行信息和外部用户接口结果的测试技术。)

其他类型的测试

回归测试:对软件的新版本测试时,重复执行上一个版本测试时使用的测试用例。

冒烟测试:BVT测试,对象是每一个新编译需要正式测试的版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。

随机测试:猴子测试。

敏捷测试:高度迭代,有周期性,并且能够及时、持续地响应客户的频繁反馈。

黑盒测试方法:或者测试用例的设计方法

1、等价类划分法※(邮箱注册,6~18个字符,可使用字母、数字、下划线,需以字母开头,)
2、边界值分析法※(年份选择,1900~2048)
4、场景法※(登陆,基本流,备选流)
5、因果图法
6、错误推断法
7、正交试验方法

测试质量:

1、覆盖需求所有的功能点
2、猴子测试(随即测试、自由探索测试)
3、严格执行测试用例
4、时间充足的时候跟同事互测

性能测试:为获取或验证系统性能指标而进行的测试

压力测试:在强负载(大数据量,大并发用户)下的测试

负载测试:模拟实际软件系统所承受的负载条件的系统负荷,通过不断加载(如逐渐增加模拟用户的数量)或其它加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU、内存)等,以检验系统的行为和特性,以发现系统可能存在的性能瓶颈、内存泄漏、不能实时同步等问题。

时间: 2024-08-22 18:21:33

测试理论的相关文章

测试理论1

测试理论 分类 测试理论 手工测试 web自动化测试 接口测试 移动自动化测试 缺陷(bug)管理工具的使用 软件测试的定义 实际输出与预期输出之间的审核或比较的过程 软件测试的目的 发现错误.证明程序有错.降低开发风险 测试原则 不能证明软件不存在缺陷.不能执行穷尽测试.尽早介入.缺陷存在集群现象(用户最常用的功能).保存测试记录(文档).某些测试需要专门的测试环境.不存在缺陷理论. 软件开发模型 需求(产品经理).设计(UI).编码.测试.维护等阶段.项目经理(与客户沟通) 瀑布模型---尽

测试理论——web测试方法总结

一.输入框 1.字符型输入框: (1)字符型输入框:英文全角.英文半角.数字.空或者空格.特殊字符“~!@#¥%……&*?[]{}”特别要注意单引号和&符号.禁止直接输入特殊字符时,使用“粘贴.拷贝”功能尝试输入. (2)长度检查:最小长度.最大长度.最小长度-1.最大长度+1.输入超工字符比如把整个文章拷贝过去. (3)空格检查:输入的字符间有空格.字符前有空格.字符后有空格.字符前后有空格 (4)多行文本框输入:允许回车换行.保存后再显示能够保存输入的格式.仅输入回车换行,检查能否正确

测试理论——WEB测试方法及注意地方

1.页面部分 (1) 页面清单是否完整(是否已经将所需要的页面全部都列出来了) (2) 页面是否显示(在不同分辨率下页面是否存在,在不同浏览器版本中页面是是否显示) (3) 页面在窗口中的显示是否正确.美观(在调整浏览器窗口大小时,屏幕刷新是否正确) (4) 页面特殊效果(如特殊字体效果.动画效果)是否显示 (5) 页面特殊效果显示是否正确 2.页面元素部分 (1)页面元素清单(为实现功能,是否将所需要的元素全部都列出来了,如按钮.单选框.复选框.列表框.超连接.输入框等等) (2)素是否显示(

测试理论 - Test Double

概述 简述 test double mock, fake 之类的东西 背景 最近在看 google 软件测试之道 妈的 13 年的老书了 书里有提到 mock, fake, stub 刚好, 我又不太会 上网找相关的东西 发现了一个叫做 Test Double 的东西 1. Test Double 概述 测试替身 背景 单元测试中, 总会对外界产生依赖 要么依赖外界的参数 要么依赖外界的服务 但是如果真的依赖起来了... 一传十十传百, 就得起一套环境 可我就想写个 单元测试 啊喂... 于是,

软件测试笔记(一)理论篇

有句话是这么说的:能动手就别哔哔,尤其是在工作节奏堪比跑马的今天,大家都推崇实干精神,能解决问题就好,去他的理论.但是无可否认的是,良好的理论素养无论是解决工作中遇到的问题,还是未来的职业发展,都帮助甚大.本文整理汇总了软件测试行业中常见的一些测试理论,供大家参考. 1.软件测试按照测试分类有:黑盒测试和白盒测试. 黑盒测试 黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用.在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,

【转载】游戏测试和软件测试的差异

  这里的游戏测试专指各种电子游戏(特别是网络游戏). 从软件角度讲,电子游戏本身也是一种软件,属于软件的一类,因此游戏测试和软件测试必然有其共同点,本文不详细讨论这部分,而主要讨论其差异. 首先,我们从软件的开发过程入手: 通常一个软件的开发过程如下: ● 接受订单 ● 需求分析 ● 设计文档 ● 程序设计 ● 程序实现 ● 集成测试 ● 阿尔法测试 ● 贝塔测试 ● 软件发布 游戏也是一种软件,开发过程也逃不出这个框架,但是从开发的第一步开始,游戏就与一般的软件存在了比较大的差异: 首先:通

转:什么样的测试人员是好的测试人员

1 工作积极主动 工作态度如何,是评价一个测试人员最主要的方面,一个高水平的测试人员(指纯技术能力)如果没有一个好的工作态度,在测试团队中有时候不但不能对测试工作起到推动作用,有时候还起到阻碍作用,而一个愿意工作的测试人员,哪怕他的技术水平不高,人也不聪明,但对自己的工作认真负责,你告诉他的事情,他都可以认真去做,这个测试人员也会对测试工作起到很大的促进作用.这也是为什么很多企业愿意让刚参加工作的人员做测试工作的一个主要原因.另外,测试人员对工作是否主动也会很影响一个测试人员的发展,举一个例子,

测试应该都学些什么!

记得从上学那会.初中的时候老师还是会让大家做些笔记.初中毕业后.高中甚至大学就一直很少在写个人笔记了.至少我是哈.主动承认自己的不足. 为什么要说笔记呢.原因很简单.就是最近工作出现的一连串繁琐事情.当然不排除我个人认为笔记有时候很好的描述一个人的成长历练.经历等等. 话题跑偏了好像.先说一下笔记的好处: 1.做笔记是训练一个人的语言转化能力 2.做笔记可以提高一个人选择.归纳有效信息的能力. 文章的主题是测试应该学习些神马?我本人也是做测试的.从毕业截止到今.不多不少2年半. 刚开始的时候做这

我是如何入门测试的

我的测试入门其实是通过一次在腾讯课堂的上课开始的.基于我是计算机专业,所以学起来没有其他专业的那么费劲. 刚开始讲的是软件测试的定义以及方法,这个也就不纠结那么多了,纯粹的是理解吧.什么边界值分析等价类划分这里我就不说了,因为是最基础的测试理论. 现在讲一些比较专业的,比如数据库.数据库是由于我在学校学得还算不错,所以应用起来也没那么难.首先第一步要了解数据库的配置,我们练习的数据库是mysql,一般大企业会使用oracle,但是这个是收费的,而mysql是不收费的.配置数据库,主要配置的是ip