单元测试:
是测试过程中最小的粒度,在执行过程中紧密的一招程序框架对产品的函数和模块进行测试,包括入口和出口函数,输入输出信息,错误处理信息部分边界值测试
集成测试:
由于模块相互调用时接口会引入许多新问题,所以即使模块单独可以运行集成后在一起却不能正常工作。集成测试包括:增量式集成和非增量式集成;增量式集成分为:自顶向下增量式测试(桩程序) 自底向上增量式测试(驱动程序)。测试重点是模块间的衔接以及参数的传递等
系统测试:
将已经确认的软件、计算机硬件、外设、网络等其他元素结合在一起,进行信息系统的各种组装测试和确认测试,目的是验证系统是否满足需求规格的定义,找出与需求规格不符或矛盾的地方并提出改善方案。测试重点是整个系统的运行以及与其他软件的兼容性
验收测试:
主要确认软件是否按照合同要求进行工作,是否满足软件需求规格说明书 验收测试分为:正式验收测试,非正式验收测试(а测试、ß测试)а测试:软件开发公司组织内部人员模拟各类用户行为进行测试。ß测试:软件开发公司组织客户在工作中实际使用,报告异常,提出意见
黑盒测试:又被称为功能测试、数据驱动测试或基于规格说明的测试
白盒测试:是通过程序的源代码进行测试而不使用用户界面
回归测试:是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误
冒烟测试:完成一个新版本的开发后,对该版本最基本的功能进行测试,保证基本的功能和流程能走通,再进行后续工作 (节约时间,覆盖率低)
随机测试:测试数据随机产生,在测试用例之外,只能作为一个测试的补充
A\B测试(页面提供两个版本):
α测试(由用户、测试人员、开发人员共同参与的内部测试)
β测试(内测后的公测,交给最终用户测试 公司外部展开的测试(验收测试))
功能测试:
性能测试:
负载(逐步)、压力(极限)、稳定(较长时间)
性能指标: 并发数、响应时间、事务数、TPS、吞吐量、资源使用率(CPU、IO、内存、队列)
性能工具:loadrunner\sikperfromer\jmeter\webload\apache bench\loadui
吞吐量:每秒完成的请求数
TPS:每秒事务处理量
压力测试:在一定的软件、硬件及网络环境下,通过模拟大量的虚拟用户向服务器产生负载,使服务器的资源处于极限状态下长时间连续运行,以测试服务器在高负载情况下是否能够稳定工作。
负载测试:在一定的软件、硬件及网络环境下,通过运行一种或多种业务在不同虚拟用户数量情况下,测试服务器的性能指标是否在用户的要求范围内,用于确定系统所能承载的最大用户数、以及不同用户数下的系统响应时间及服务器的资源利用率。强调系统的稳定性。
稳定性测试:
安全测试:注入、获取session\xss\csrf\appscan(web应用)\webinspect\nessus\nmap\metasploit\webscarab\fortify\w3af
兼容性测试:BrowserShots\BrowserSandbox(浏览器内核不同)
安装测试:
配置测试:
界面测试:
恢复测试:
文档测试:用户手册、使用说明
易用性测试:
按照测试对象分:web端测试、APP测试、数据库测试、C/S测试、其他
按照测试类型分:功能测试、自动化测试、专项测试(性能、安全、SEO、ASO)
软件测试流程:
1.需求分析
2.制定测试方案、测试计划
3.设计测试用例
4.测试用例评审
5.搭建测试环境
6.执行用例\提交bug
7.bug验证\回归
8.写测试报告
测试环境:
硬件+软件+网络
测试用例要素:1.用例编号 2.级别 3.模块功能 4.用例标题 5.预置条件 6.测试数据 7.测试步骤 8.预期结果 9.实际结果 10.备注
测试用例方法:边界值法、等价类划分法、场景法、因果图法、错误推测法、判定表法、正交排列法、测试大纲法等
测试报告要素
1.测试结论:是否达到发布标准,是否可发布
2.风险:已知风险 & 未知风险,抛出
3.测试时间\人员
4.测试环境\版本\设备
5.需求大纲:当前的这个版本,到底包含了哪些大的需求点
6.Bug数据分析:bug等级,分布
等价类划分法的步骤有如下:
1. 列出输入内容和关系
2.对各输入进行等价类划分
3.根据等价类进行测试用例的选取
4. 变成正规的用例
场景法的步骤如下:
1.根据说明,描述出基本流和备选流
2.根据基本流和各种备选流生成各种场景
3.对每一个场景生成相应的测试用例
4.重审去掉多余的测试用例
5.根据测试用例生成测试数据
因果图法(输入的约束有4类):
1.E约束(异):a和b中至多有一个可能为1,即a和b不能同时为1
2.I约束(或):a、b和c中至少有一个必须是1,即 a、b 和c不能同时为0
3.O约束(唯一);a和b必须有一个,且仅有1个为1
4.R约束(要求):a是1时,b必须是1,即不可能a是1时b是0
1.什么是bug:
一个在电脑程序中的错误。
2.什么是软件测试:
软件测试是使用人工操作或者软件自动运行的方式,来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程。
3.什么是接口测试:
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。通常接口带有参数通过修改参数模拟不同的场景,根据返回值判断是否达到相应的需求。
4.什么是服务端测试:
一般来说,服务端测试有两种:一种是直接对WEB或者APP的服务端进行测试;另一种是对更后端的数据库、缓存系统、中间件、文件系统等进行测试。