精华内容
下载资源
问答
  • 测试的流程
    千次阅读
    2022-03-05 15:54:59

    1 测试流程概述

    软件测试流程包括:

    • 测试计划:测试计划是指根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,使得随后所有的测试工作都围绕着测试需求来进行,同时适当选择测试内容,合理安排测试人员、测试时间和测试资源等
    • 测试设计:测试设计是指将测试计划阶段制订的测试需求分解,细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例,保证测试结果的有效性
    • 测试开发:测试开发是指建立可重复使用的自动测试过程
    • 测试执行:测试执行是指执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理,一般有单元测试、集成测试、确认测试等步骤组成
    • 测试评估:测试评估是指结合量化的测试覆盖域及缺陷跟踪报告,对应用软件的质量和开发团队的工作进度以及工作效率进行综合评价

    其中测试执行由以下步骤组成:

    • 单元测试:通过对每个最小的软件模块进行测试,对源代码的每一个程序单元实行测试,来检查各个程序模块是否正确地实现了规定的功能,确保其能正常工作
    • 集成测试:对已测试过的模块进行组装集成,目的在于检验与软件设计相关的程序结构问题
    • 确认测试:检验软件是否满足需求规格说明中的功能和性能需求,确定软件配置完全、正确,并检验软件产品能否与实际运行环境中整个系统的其他部分协调工作
    • 验收测试:主要让用户对软件进行测试,并重新执行已经做过的测试的某个子集,保证没有引入新的错误

    2 单元测试

    2.1 定义

    单元测试用于判断一小段代码的某个特定条件或场景下某个特定函数的行为,主要测试软件设计的最小单元在语法、格式、逻辑等方面的缺陷以及是否符合功能、性能等需求,程序的多个模块可以并行地进行单元测试工作。

    2.2 内容

    主要包括5个任务:

    • 模块接口测试:通过对被测试模块的数据流进行测试,检查进出模块的数据是否正确,因此必须对模块接口,包括参数表、调用子模块参数、全程数据、文件输入输出操作进行测试
    • 局部数据结构测试:测试用例检查局部数据结构的完整性,如数据类型说明、初始化、缺省值等方面的问题
    • 执行路径测试:对模块中重要的路径进行测试,对基本执行路径和循环进行测试往往可以发现大量路径错误,测试用例必须能够发现由于计算错误、不正确的判定或不正常的控制流而产生的错误
    • 错误处理测试:检查模块的错误处理功能是否包含错误或者缺陷,例如,是否拒绝不合理的输入等
    • 边界条件测试:必须采用边界值分析方法来设计测试用例,测试在为限制数据处理而设定的边界处,测试模块是否能够正常工作

    2.3 步骤

    一般单元测试需要辅助模块去帮助完成测试,辅助模块分为两种:

    • 驱动模块:用来模拟被测试模块的上一级模块,相当于被测模块的主程序,用于接收测试数据,并把这些数据传送给被测模块,启动被测模块并输出结果
    • 桩模块:用来模拟被测试模块工作过程中所调用的模块

    被测试模块、驱动模块和桩模块共同构成了一个测试环境去进行测试。

    3 集成测试

    3.1 定义

    将经过单元测试的模块连接起来,组成所规定的软件系统的过程称为集成,集成测试就是针对这个过程,按模块之间的依赖接口的关系图进行测试。

    3.2 任务

    主要任务是解决如下问题:

    • 将各模块连接起来,检查模块相互调用时,数据经过接口是否丢失
    • 将各个子功能组合起来,检查能否到达预期要求的各项功能
    • 一个模块的功能是否会对另一个模块的功能产生不利的影响
    • 全局数据结构是否有问题,会不会被异常修改
    • 单个模块的误差积累起来,是否被放大,从而达到不可接受的程度

    3.3 方法

    集成测试的方法,包括:

    • 非增量式集成测试方法
    • 增量式集成测试方法

    3.3.1 非增量式集成测试方法

    非增量式集成测试方法采用一步到位的方法来进行测试,对所有模块单元进行个别的单元测试后,按程序结构图将各模块连接起来,把连接后的程序当作一个整体进行测试。

    3.3.2 增量式集成测试方法

    增量式测试集成方法可以分为:

    • 自顶向下增量式测试
    • 自底向上增量式测试
    • 三明治集成测试

    3.3.2.1 自顶向下增量式测试

    自顶向下增量式测试按照结构图自上而下逐步集成和逐步测试,模块集成的顺序首先是集成主控模块(主程序),然后按照软件控制层次结构向下进行集成,集成策略可以选择广度优先或深度优先。

    优点包括:

    • 在测试过程中较早地验证主要的控制点
    • 功能性的模块测试可以较早地得到证实
    • 最多只需要一个驱动模块就可以进行测试
    • 支持缺陷故障隔离

    缺点:

    • 随着底层模块不断增加,会导致底层模块的测试不充分
    • 每次组装都需要提供桩,导致桩的数据急剧增加,从而维护桩的成本会快速上升

    3.3.2.2 自底向上增量式测试

    从原子模块(软件结构中最底层的模块)开始,按结构图从下而上逐步进行集成和测试。

    优点:

    • 总体上减少了桩模块的工作量
    • 允许对底层模块行为进行早期验证
    • 测试初期可以并行集成

    缺点:

    • 随着集成到顶层,整个系统变得越来越复杂,对于底层的一些模块很难覆盖
    • 驱动模块的开发工作量大

    3.3.2.3 三明治集成测试

    也叫混合集成,将自顶向下和自底向上的优缺点集于一身,三明治集成就是把系统分为三层,中间一层为目标层,对目标层上层采用自顶向下的集成测试方式,对目标层下层采用自底向上集成策略,最后对目标层进行测试。

    4 确认测试

    4.1 定义

    用于验证软件的有效性,也就是验证软件的功能和性能以及其他特性是否与用户要求一致。

    4.2 内容

    内容包括:

    • 有效性测试:在模拟的环境下,运用黑盒测试的方法,验证被测试软件是否满足需求规格说明书列出的需求
    • 软件配置审查:保证软件配置的所有成分,包括与实际运行环境中整个系统的支持环境都应齐全,各方面的质量都符合要求

    5 验收测试

    5.1 定义

    验收测试是以用户为主的测试,但是软件开发人员和质量保证人员也需要参加。由用户参加设计测试用例,通过用户界面输入测试数据,分析测试的输出结构。

    5.2 内容

    内容包括:

    • alpha测试
    • beta测试
    • 回归测试

    5.2.1 alpha测试

    alpha测试是由一个用户在开发环境下的测试,也可以是公司内部用户在模拟实际操作环境下进行的测试。这是在受控制环境下进行的测试,目的是评价软件产品的功能、可使用性、可靠性、性能和支持,尤其注重产品的界面和特色。

    5.2.2 beta测试

    beta测试由软件的多个用户在一个或多个用户的实际使用环境下进行的测试,与alpha测试不同,开发者通常不在测试现场。在beta测试中,由用户记录遇到的所有问题,包括真实的以及主观认定的问题,定期向开发者报告,开发者综合用户的报告后做出修改。

    5.2.3 回归测试

    5.2.3.1 定义

    回归测试是一种验证已变更的系统的完整性与正确性的测试技术,是指重新执行已经做过的测试的某个子集,以保证修改没有引入新的错误或者发现由于更改而引起的之前未发现的错误。

    5.2.3.2 实施前提

    回归测试的实施前提包括:

    • 当软件中所含错误被发现时,如果错误跟踪和管理系统不够完善,可能会遗漏对这些错误的修改
    • 开发者对错误的理解不够透彻,也可能导致所做的修改只修正了错误的外在表现,而没有修改错误本身
    • 修改还有可能产生副作用,从而导致软件未被修改的部分产生新的问题

    5.2.3.3 回归测试的两个策略

    • 完全重复测试:选择完全重复测试是指将所有的测试用例,全部再完全执行一遍,缺点是要把用例全部执行,会增加项目的成本以及影响项目的进度
    • 选择性重复测试:选择一部分测试执行,以确认问题修改的正确性和修改后周边是否受到影响,常见的方法包括覆盖修改法、周边影响法、指标达成法、基于操作剖面、基于风险选择测试

    5.2.3.4 流程

    • 在测试策略指定阶段,制定回归测试策略
    • 确定回归测试版本
    • 回归测试版本发布,按照回归测试策略执行回归测试
    • 回归测试通过,关闭缺陷跟踪单
    • 回归测试不通过,缺陷单返回开发人员,重新修改后再次回归测试

    如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

    最后基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等配套学习资源【免费】。

    更多相关内容
  • 软件测试流程

    千次阅读 2022-05-29 16:10:20
    版本测试流程: 项目测试流程: 现场问题验证流程: 测试工作流程说明: 1、需求分析 将用户需求转化为功能需求,明确测试活动的五个要素(测试需求是什么、决定怎么测、明确测试时间、确定测试人员、...

    测试工作流程:

    版本测试流程:

    项目测试流程:

    现场问题验证流程:

    简述测试的基本过程

    (1)测试人员进行测试需求分析。

    (2)测试负责人编写测试计划。

    (3)测试人员根据测试需求分析设计和编写测试用例。

    (4)测试人员搭建测试环境、创建测试数据、执行测试用例、提交缺陷报告并进行跟踪、记录测试事件。

    (5)进行测试评估和总结。每一分步工作完成后都进行评审。

    拿到一个软件后,应该怎样开始工作?

    编写需求分析并评审→编写测试计划并评审→设计测试用例并评审→搭建测试环境、执行测试用例、提交缺陷报告→进行评估和总结

    怎么进行测试需求分析?

    (1)收集各类文档,仔细阅读文档,提出问题,分析问题或沟通解决,整理需求信息。

    (2)编写测试需求分析说明书∶功能分解,编写检查点和测试点。

    (3)需求评审。

    需要分析或咨询软件哪些方面的问题?

    软件主要的功能、流程、开发环境(开发语言<含数据类型>、数据库、中间件)、运行环境(硬件、软件、网络、软件架构)、用户群、测试范围、测试优先级。

    什么是测试策略?

    什么是测试范围?

    测试策略主要包括功能测试、性能测试、兼容性测试、可用性测试、易用性测试等。测试范围有时候等价于测试策略,有时候可以表示要进行测试的某个软件部位。

    测试计划的内容和目的是什么?

    包含了产品概述、测试区域/测试策略/测试范围/测试目标(测试项、被测特征)、测试配置/测试资源、测试周期、进度安排(测试任务、人员安排)、测试方法/途径、测试交流、风险分析等内容。目的是指导测试过程,规定测试活动的范围、方法、资源和进度;明确正在测试的项目、要测试的特性、要执行的测试任务、每个任务的责任人以及与计划相关的风险。

    测试计划工作的目的是什么?

    测试计划文档的内容应该包括什么?

    其中哪些是最重要的?

    软件测试计划是指导测试过程的纲领性文件

    √领导能够根据测试计划进行宏观调控,进行相应资源配置等。

    √测试人员能够了解整个项目测试情况以及项目测试不同阶段的所要进行的工作等。

    √ 便于其他人员了解测试人员的工作内容,进行有关配合工作

    测试计划包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。

    测试计划编写6要素(5W1H)∶

    √ why→→为什么要进行这些测试;

    √ what→测试哪些方面,不同阶段的工作内容;

    √ when→测试不同阶段的起止时间;

    √where→相应文档,缺陷的存放位置,测试环境等;

    测试工作流程说明:

    1、需求分析

    将用户需求转化为功能需求,明确测试活动的五个要素(测试需求是什么、决定怎么测、明确测试时间、确定测试人员、确定测试环境,测试中需要的技能,工具以及相应的背景知识,测试过程中可能遇到的风险等,测试需求需要做到尽可能的详细明确,以避免测试遗漏和误解)

    进行需求分析的方式∶确认功能(业务功能、辅助功能、数据约束、易用性需求、编辑约束、

    参数需求、权限需求、性能约束)->场景分析->挖掘隐性需求

    2、测试计划

    版本负责人编写,其中包括人员、软件硬件资源、测试点、集成顺序、进度安排和风险识别等内容。

    3、测试方案

    由资深测试工程师编写,属于技术层面的文档,从技术的角度对测试活动进行规划,描述需要测试的特性,测试的方法,测试环境的规划,测试工具的设计和选择,测试用例的设计方法。

    4、测试用例

    由有经验的测试工程师设计和编写并组织评审,测试用例设计可以从功能性、可用性、安全性等方面考虑。测试用例编写主要是编写规范,包括写作格式、命名规范等。

    5、执行

    测试工程师严格按照版本负责人指派给自己的测试用例执行,发现缺陷时在redmine上进行跟踪。

    6、总结

    内部例试版本由测试人员以发送结测邮件方式反馈,发布版本由测试人员严格按照测试报告模板编写。

    版本测试流程说明:

    1、版本计划∶版本负责人跟开发 pl 确定版本转测时间和待转版本新增功能。

    2、新增功能测试方案编写及评审∶经验丰富的测试工程师根据需求和设计说明书进行新功能测试方案编写并组织评审并归档至 SVN目录下各项目。

    3、新增功能测试用例编写及评审∶测试工程师结合测试方案进行测试用例设计及组织评审并上传至 testlink。

    4、接收开发转测由件∶接收开发转测件后再次确认新增和变更功能点,如与实际不符,要求开发重新发转测邮件。

    5、制定测试策略及分配测试用例∶版本负责人根据各项目转测版本情况制定相应的测试策略并在 testlink上给测试人员分配测试用例。

    6、执行测试∶测试人员在 testlink 上按照测试用例执行并标注结果,如果失败需在 redmine 上提单后并填写相应单号

    7、总结∶内音测试版本由测试人员以发送结测件方式反馈,发布版本由测试人员严格按照测试报告模板编写,在每个大版本发布后由版本负责人组织进行版本测试总结并在下阶段进行改进。

    项目测试流程说明:

    项目需求分析∶测试负责人从项目经理获取需求并进行分析。

    需求反串讲∶测试负责人组织并根据自己理解分析进行需求反串讲,请项目经理确认需求理解是否有误。

    测试计划编写∶测试负责人编写相应项目测试计划。

    测试方案编写及评审∶测试负责人编写测试方案并组织评审确认。

    测试用例编写及评审∶测试工程师结合测试方案进行测试用例设计及组织评审并上传至tetlink。

    执行测试并发布∶按照测试用例执行在每轮版本结测后评估是否可以发布,可以发布时发送发布邮件给项目相关人员。

    项目实施支持∶技术支持人员现场实施过程中如有需要进行安装部署及操作支持。

    现场问题验证流程说明:

    接收验证任务∶接收来自项目经理确认的现场问题协助验证任务。

    获取问题操作步骤∶与现场人员沟通获取详细的操作步骤。

    按照问题步骤复现∶根据现场人员反馈的操作步骤进行复现。

    反馈验证结果∶一般在当天下班前需反馈验证结果,如验证时间超一天时,每天下班前汇报当天验证进展。

    总结:

    1 分析测试需求

    测试人员对用户的需求进行分析,了解软件要做什么,怎么做,进而确定将来怎么测试。

    2 编写测试计划

    测试负责人编写测试计划

    测试计划的内容:

    包含产品概述、测试范围/测试区域/测试项、测试目标/被测特征、测试优先级、测试配置/测试资源(硬件、j软件、人力、技术等)、测试周期、进度安排(测试任务、人员安排)、测试策略、测试方法/途径、测试交流、风险分析、测试标准、需交付文档等内容。

    3 设计与编写测试用例

    设计用例主要反映在编写测试点上。

    根据公司格式或者选择一些模板编写测试用例。

    4 执行测试

    搭建测试环境

    执行测试用例,记录测试事件

    提交和跟踪缺陷

    5 评估与总结

    分析实际测试与计划的偏差

    收集并提交各种测试文档和数据,对数据进行分析

    给出是否继续测试还是终止测试结论

    总结经验教训

    测试结束的标准是什么?

    全部测试用例都执行完成。

    未修改bug都被确认或置为应有状态,暂缓修改的问题都有详尽的解释。

    测试报告编写完成。

    测试收尾工作结束。

    测试总结完成。

    项目处于试运行或上线阶段

    在测试计划中定义结束标准

    如计划中规定∶系统在一定性能下平稳运行72小时,本版本中没有严重的BUG,普通BUG的数量在3以下,BUG 修复率90%以上

    实际测试达到上述要求,然后由开发经理,测试经理,项目经理共同签字,认同测试结束,版本即可发布。

    给你一个网站,你如何测试?

    首先,查找需求说明、网站设计等租关文档)分析测试需求

    制定测试计划,确定测试范围和测试策略,一般包括以下几个部分∶功能性测试、界面测试、性能测试、数据库测试、安全性测试、兼容性测试。

    设计测试用例∶

    功能性测试可以包括,但不限于以下几个方面∶

     链接测试。链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回。

    提交功能的测试。

    多媒体元素是否可以正确加载和显示。◇

    多语言支持是否能够正确显示选择的语言等。

    界面测试可以包括但不限于一下几个方面∶

    页面是否风格统一,美观

    页面布局是否合理,重点内容和热点内容是否突出

    控件是否正常使用

    对于必须但未安装的控件,是否提供自动下载并安装的功能

    文字检查

    性能测试一般从以下两个方面考虑∶

    压力测试、负载测试

    数据库测试要具体决定是否需要开展

    数据库一般需要考虑连结性,对数据的存取操作,数据内容的验证等方面。安全性测试

    基本的登录功能的检查

    是否存在溢出错误,导致系统崩溃或者权限泄露

    相关开发语言的常见安全性问题检查,例如SQL注入等

    兼容性测试

    根据需求说明的内容,确定支持的平台组合

    浏览器的兼容性

    操作系统的兼容性

    软件平台的兼容性

    数据库的兼容性

    开展测试,并记录缺陷。

    合理的安排调整测试进度,提前获取测试所需的资源,建立管理体系(例如,需求变更、风险、配置、测试文档、缺陷报告、人力资源等内容)。

    定期评审,对测试进行评估和总结,调整测试的内容。

    如何测试一个纸杯?

    功能∶用水杯装水看漏不漏;水能不能被喝到安全性∶杯子有没有毒或细菌可靠性∶杯子从不同高度落下的损坏程度

    可移植性∶杯子在不同的地方、温度等环境下是否都可以正常使用兼容性∶杯子是否能够容纳果汁、白水、酒精、汽油等易用性∶杯子是否烫手、是否有防滑措施、是否方便饮用

    用户文档∶使用手册是否对杯子的用法、限制、使用条件等有详细描述

    疲劳测试∶将杯子盛上水放24小时检查泄漏时间和情况;盛上汽油放24小时检查泄漏时间和情况等

    压力测试∶用根针并在针上面不断加重量,看压强多大时会穿透

    你手中的这支笔有多少用途,请发挥你的想象力

    写、画(纸上、墙上、桌子上、地上、其他位置)

    染色

    承重

    当书签

    当筷子

    用来扎人

    用来掏掉进笔记本键盘的小东西

    用来去除缝隙(比如手机上的缝隙)里的灰尘

    当作燃料

    拿在手里转着玩,消遣一下

    用来碰电门

    塑料笔管用来当吸管

    展开全文
  • 测试类型、测试方法、工作流程、缺陷管理机制、发布评估标准、问题处理、相关记录进行详细描述测试类型、测试方法、工作流程、缺陷管理机制、发布评估标准、问题处理、相关记录进行详细描述
  • 测试流程及测试阶段

    千次阅读 2022-03-22 10:14:21
    什么是软件生命周期 软件开发全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件设计、编码、测试、软件发布维护的过程。...软件测试流程 测试计划阶段 测试设计和开发阶段 测试实施阶段 测试

    什么是软件生命周期
    软件开发全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件设计、编码、测试、软件发布维护的过程。
    在这里插入图片描述

    项目组成员及相关工作
    项目经理:立项、计划、关联产品、关联需求等
    产品经理:收集需求反馈,建立产品,整理需求等
    设计人员:设计系统架构,概要设计和详细设计,UI设计等
    开发(前端、后端):编码
    测试人员:设计测试用例,执行测试,提交bug(缺陷)
    运维:部署系统,搭建环境
    QA:贯穿全过程,制定规范、辅助、审计

    软件测试流程
    测试计划阶段
    测试设计和开发阶段
    测试实施阶段
    测试评估阶段

    软件测试流程图(需求阶段)
    在这里插入图片描述
    需求阶段测试相关的主要工作
    产品基本情况调研
    测试需求说明
    测试的策略和记录
    测试资源的配置
    计划表
    配置测试环境

    软件测试流程图(设计编码阶段)
    在这里插入图片描述
    设计编码阶段测试人员工作
    参与评审
    设计测试方案(集成测试和单元测试)
    执行单元测试

    软件测试流程图(集成、系统、验收)
    在这里插入图片描述
    软件测试阶段
    单元测试
    集成测试
    系统测试
    验收测试
    在这里插入图片描述

    单元测试又称为模块测试,是最小单位测试
    1 单元测试具有独立性,可以与系统其他部分分隔离出来,从而完成测试,其依据是详细设计,其测试对象是软件设计的最小单位模块与组件,类、文件、窗口、函数、菜单、报表或一个存储过程都可以作为一个单元进行测试。
    2 单元测试可以发现的缺陷类型:
    计算错误
    程序路径选择错误
    3 执行方法:
    代码扫描工具:SonarQube + PMD
    4 测试原则
    尽可能保证测试用例相互独立(测试用例中不能直接调用其他类的方法,而应在测试用例中重写模拟方法)
    此阶段一般由软件的开发人员来实施,用以检验所开发的代码功能符合自己的设计要求
    5 单元测试的好处
    尽早的发现缺陷
    利于重构
    简化集成
    6 单元测试的不足
    不可能覆盖所有的执行路径,所以不可能保证捕捉到所有路径的错误
    每行代码需要3~5行代码进行单元测试,存在投入与产出的平衡

    集成测试:是将已分别通过测试的单元按设计要求组合成系统或子系统,再进行的测试。目的在于检查这些单元之间的接口是否存在问题。
    1 测试目标:API
    对集成的组件之间的接口和组件与组件的协同工作进行测试。
    2 测试依据
    软件和系统设计文档
    系统架构
    定义和描述接口的文档、工作流和用例等
    3 执行方法:
    工具:Postman
    自动化测试框架:python + requests + ddt + nose2
    4 测试原则
    尽早集成测试关键模块
    尽早测试包含I/O的模块
    5 集成测试的好处
    可以检查一系列的环境配置正确与否
    可以迅速定位BUG
    可以为功能测试和性能测试提供支持
    6 集成测试的不足
    难以完成业务场景测试
    无法测试前端页面

    系统测试
    是充分运行软件系统,以验证系统是否满足产品的质量需求
    系统测试分为:
    功能测试
    非功能测试
    性能测试、容量测试
    安全性测试
    兼容性测试
    可靠性测试
    集成测试和系统测试之间的比较:
    测试内容:集成测试是测试各个单元模块之间的接口,系统测试是测试整个系统的功能和性能;
    测试角度:集成测试偏重于技术的角度进行测试,系统测试是偏重于业务的角度进行测试。

    验收测试:也称交付测试,是针对用户需求、业务流程进行的正式的测试,以确定系统是否满足验收标准,由用户、客户或其他授权机构决定是否接受系统。
    在软件产品完成了系统测试之后、产品发布之前所进行的测试
    验收测试一般会根据产品产品需求(用户故事),严格的逐项的检查产品,确保所开发的软件产品符合用户预期的各项要求。
    在这里插入图片描述

    展开全文
  • 史上最全测试流程详解----超详细

    万次阅读 多人点赞 2021-11-29 15:06:05
    对于测试流程基本很多做过测试的大牛,小哥哥,小姐姐都能说出个十之八九,但是对于细节,可能还需要一些整理文件,这不,我整理了一些测试的全部流程,希望能给大家带来帮助,有不妥的地方,请大家指正。...

    前言-----

    对于测试流程基本很多做过测试的大牛,小哥哥,小姐姐都能说出个十之八九,但是对于细节,可能还需要一些整理文件,这不,我整理了一些测试的全部流程,希望能给大家带来帮助,有不妥的地方,请大家指正。

    测试准备阶段

     一.测试需求文档

    1. 产品需求文档、产品原型图、接口说明文档以及设计说明文档等应齐全

    ---重点:需求文档分析
     了解熟悉业务,分析需求测试点

    (1)确认功能(业务功能,辅助功能,数据约束,易用性需求,编辑约束,参数需求,权限需求,性能约束)

    (2)场景分析(考虑场景调用者和系统内部各个场景之间联系)

    (3)挖掘隐性需求(常用业务流程以及各分支)

    二.测试计划

    1.编写目的
    此文档根据项目需求文档,制定测试策略、评估测试风险,确定所需的资源,并对测试的工作量进行估计,进行人员和进度安排,并且列出测试项目的可交付元素。
    2.参考文档
    详细设计文档,设计原型
    3.测试概要
    (1)测试目标
    通过测试,达到以下目标:
    测试已实现的产品是否达到设计的要求,包括:各个功能点是否以实现,业务流程是否正确。
    产品规定的操作和系统运行稳定。
    Bug数和缺陷率控制在可接收的范围之内,遗留BUG一般不超过所有BUG的10%
    (2)测试范围
    列出测试最终需要交付的功能模块列表
    (3)测试人力资源
    (4)测试环境:服务器环境,终端环境,网络环境
    (5)bug管理工具
    4.测试规范
    开始测试标准:代码编译通过,软件可以争取安装运行,实现功能与产品设计出人,冒烟测试通过
    中断测试标准:安装无法正确完成,程序代码编译不通过,系统服务异常,发现阻塞功能的bug
    5.bug规范
    致命,严重,一般,建议
    6.测试策略
    冒烟测试:依据开发提测时间变动
    第一轮功能测试:执行测试用例,包括边界值测试,兼容性测试,易用性测试,用户界面测试,安全性测试
    第二轮功能测试:bug复测及功能验证
    回归测试:全面回归测试
    性能测试:需确认具体性能测试方案和工具
    发布测试
    测试报告总结
    7.测试风险
    测试本身(测试时间/测试技术/开发进度延误/难以修复缺陷/其它原因)
    8.测试输出文档
    测试计划
    测试用例
    测试bug单
    测试报告


    三.测试用例

    测试需求分析和业务流程分析

    1.设计方法:
    等价类划分法(将测试的范围划分成几个互不相交的子集)
    边界值分析法(选出的测试用例,应选取正好等于、刚刚大于、刚刚小于边界的值)
    错误推测法(在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误)
    判定表法(适合于逻辑判断复杂的场景,通过穷举条件获得结果,对结果再进行优化合并,会得到一个判断清晰的策略)
    正交实验法(在各因素互相独立的情况下,设计出一种特殊的表格,找出能以少数替代全面的测试用例)
    还有其它场景法和状态迁移法等

    2.测试用例八要素:用例编号,测试项目,测试标题,重要级别,预置条件,测试输入,操作步骤,预期输出
    (1) 用例编号(规则:由字符和数字组成的字符串,具有唯一性,易识别性)
    (2) 测试项目(对应测试用例编号中的测试子项名 系统测试
    (3) 测试标题(体现测试出发点关注点以及测试用例期盼的测试结果)
    (4) 重要级别、优先级别(重要级别一般分为高中低 )
    (5) 预置条件:测试用例在执行时需要满足一些前提条件,环境的设置
    (6) 测试输入(测试执行中需要加工的外部信息,避免用描述性语言,要具体,根据测试用例具体情况,有手工输入,文件,数据库记录)
    (7) 操作步骤:执行当前用例需要经过的操作步骤,需要明确的给出每一个步骤的描述
    (8) 预期输出:需要判断测试对象是否正常工作

    测试阶段

    一.测试执行

    1.测试环境搭建
    测试环境:硬件环境,软件环境
    硬件环境:测试必须的服务器,客户端,网络连接设备,以及打印机/扫描仪等辅助硬件设备构成的环境
    软件环境:被测软件运行的操作系统,数据库以及其它应用软件构成的环境
    搭建测试环境的准备工作:
    安装工具:虚拟机
    虚拟机优点:运行在主机上

    二.执行测试用例
    根据测试用例优先级来执行测试用例

    -----测试关注点

    1. 根据UI效果图进行UI测试

    (1)、观察APP的用户界面(如菜单、对话框、窗口和其它可规控件)是否符合UI稿

    (2)、不同的连接页面之间导航链接是否有效,是否跳转是否正确

    (3)、旋转手机,确保程序不退出,页面排版无异常

    (5)、输入框说明文字的内容与产品需求一致

    (6)、某页无数据时、断网时、有网但接口异常时的状态页是否和UI一致

    2. 功能测试时主要依据编写的功能测试用例进行软件功能的测试

    3. 涉及的测试主要包括基本功能测试,逻辑测试,安装、卸载、运行测试,中断测试,异常处理(包括网络突然断开或者网速过慢、机器内存不足等异常情况的处理)测试

    (1)、App安装完成后是否能正常启动,且打开速度控制在预期时间内

    (2)、切换后台再切换前台的操作对当前状态如登陆、当前页、数据刷新的影响

    (3)、强制杀掉APP进程再启动对当前状态如登陆、当前页、数据刷新的影响

    (4)、登陆验证/免密登陆时的手势密码和指纹是否正常符合产品需求

    (5)、对于有数据交换的页面,每个页面都必需要进行前后台切换、锁屏解锁的测试,这种页面最容易出现崩溃

    (6)、同一用户在多个终端先后登陆时,APP是否有正常符合产品需求的处理

    (7)、App使用过程中有电话进来的中断测试,与文件下载、音乐播放、等应用的交叉情况测试

    (8)、很多应用会支持缓存数据,测试在断网启动或从有网到无网时是否可以浏览缓存数据

    9)、软件在不同操作系统及版本(Android、iOS、)下安装是否正常

    10)、软件安装后的是否能够正常运行,安装后的文件夹及文件是否写到了指定的目录里,安装后没有生成多余的目录结构和文件

    11)、软件安装过程是否可以取消

    12)、软件安装过程中意外情况的处理是否符合需求(如死机,重启,断电)

    13)、安装空间不足时是否有相应提示

    14)、对于需要通过网络验证之类的安装,在断网情况下尝试一下

    15)、重复安装应该有提示iOS没有提示

    16)、升级安装时,版本更新链接有效,比如后台设置的版本白名单

    17)、使用各种方式卸载程序,如直接删除安装文件夹卸载是否有提示信息、长按图标卸载、手机设置里卸载、第三方应用卸载iOS卸载没有提示,Android安装时会闪退(偶现)

    18)、测试卸载后文件是否全部删除所有的安装文件夹

    19)、卸载过程中出现的意外情况的测试(如死机、断电、重启)

    20)、卸载是否支持取消功能,单击取消后软件卸载的情况

    4. 兼容性及适配测试

    1. 硬件的适配:不同手机厂商、硬件性能,不同屏幕大小的适配;

    如:

    厂商:华为型号:mate30Pro,Android版本:Android10,屏幕:6.0英寸,分辨率:2400x1176像素

    厂商:苹果,型号:苹果XSmax,手机版本:iOS11,屏幕:6.0英寸,分辨率:2688x1224像素

    (2) iOS版本的兼容:IOS 6版本以上;Andriod 5版本以上等

    (3) 不同分辨率屏幕的适配:移动设备的分辨率多种多样,如果app没有做比较合适的处理就可能会显示不好,甚至影响功能的操作。

    (4) 兼容性测试必须在一定数量的真机上进行,由于真机类型过多,尤其Android在做兼容性测试时,可以选取典型的几种运用较多的真机,进行兼容性测试

    5)与本机已经安装的App是否兼容

    6)在各种系统、系统版本的不同手机上测试登陆,卸载,注册登陆修改密码等功能

    7)UI层的兼容,界面的显示根据不同尺寸手机是否自适应

    8)在各种系统、系统版本的不同手机上进行全方面的功能测试,如使用每一个iOS版本的iPhone上测试“我的银行卡”模块的提现功能

    9)基于开发环境和生产环境的不同,检验在各种网络连接下(WiFi、2G/3G/4G/5G等),App的数据和运用是否正确

    5. 安全性测试
    1.软件权限 

    1扣费风险:包括短信、拨打电话、连接网络等

    2限制/允许使用手机拍照或录音

    3限制/允许使用手机读取用户数据,手机信息、联系人信息等

    4限制/允许使用手机写入用户数据 

    5没有用户的允许, 应用程序不能预先设定自动启动

    6对App的输入有效性校验、认证、授权、数据加密等方面进行检测 

    7没有用户的允许, 应用程序不能预先设定自动启动

    8手机能控制该APP能否使用Wi-Fi和移动数据

    2.数据安全性 

    1如果数据库中重要的数据正要被重写,应及时告知用户 

    2在数据删除之前,应用程序应当通知用户或者应用程序提供一个“取消”命令的操作。 

    3对密码长度和复杂度的安全要求

    4当将密码或其他的敏感数据输人到应用程序时, 其不会被储存在设备中, 同时密码也不会被解码

    5当应用程序处理明细或其它的敏感数据时,不以明文形式将数据写到其他单独的文件或者临时文件中

    6. 接口测试

    1)测试api网关接口是否请求正常

    (2)Get,post发送和返回是否请求正常

    (3)查看请求参数和返回参数结果是否正常

    (测试接口工具:APIpost jmeter)

    7. 性能测试

    (1) 客户端性能测试重点关注:安装卸载时间、启动时间、页面加载时间、主要功能占用的CPU、内存、流量、耗电量等,以及与同类产品相比较是否有优势;

    2) 运行过程中主要功能占用的CPU、内存、流量等可以借助开源工具emmagee(适用于Android)获取到;

    (4) 至于服务器端的性能,主要利用接口对服务器施加压力,重点关注响应时间、吞吐量、并发数、事物通过率等,可以loadrunner、jmeter进行测试,也可以用fiddler Charles抓包来查看域名等是否正常。

    8. 核心链路

    -------核心链路测试

    三.测试执行流程

    冒烟测试-迭代测试(先功能后性能,回归测试)-发布测试
    注:对应测试产出对应测试报告和bug清单,可以把bug提到缺陷管理库里
     

    四.测试报告


    测试结论(是否达到发布标准,是否可发布)
    测试时间,测试人员(测试起止时间)
    测试环境,测试设备(用到哪些测试收集,客户端环境,浏览器)
    需求大纲(当前这个版本,包含哪些需求点)

    测试用例报告(报告用例情况)
    Bug数据分析(从多个维度分析:bug等级分布,遗留bug分析,bug类型分布。模块bug分布,bug激活次数分析)

    已知风险、未知风险
    测试总结(从测试角度,对版本存在的问题,提出建议)

    线上阶段

            

     一.线上测试注意事项

    1.如果没有白名单,这个时候是不能随便操作做数据的,测试人员能做的也就是点点,保证按钮、界面正常。如果是业务人员做好数据,测试人员要验证数据的准确性和界面显示无误。
    2.如果有白名单,也不能随便操作数据,但是可以在容许的情况下,回归一遍线上测试,保证线上测试无误。

     二.后期维护

    1.日常关注客诉和相关反馈,如果有线上bug,可以通过日志,后台奔溃记录来定位问题,之后商讨出修复策略

    2.整理该项目测试总结

    (1)整理该项目遗留,可推广等问题

    (2)项目流程优化及功能优化等文档整理

    (3)整理该项目相关文档并总结报告

    展开全文
  • 性能测试 性能测试流程 性能测试步骤是什么?性能测试常规流程说明 ​ 文章目录 前言 性能测试流程 1. 制定目标和分析系统 2. 选择测试度量的方法 3. 学习的相关技术和工具 4. 制定评估标准 5. 设计测试...
  • 【测试理论】三、测试流程管理

    千次阅读 2022-02-12 00:11:59
    从软件开发周期模型入手,简单分析如何做好测试流程管理
  • 测试用例有常见的这两种: 一种是通过Excel直接编写测试用例,包含完整的内容:用例编号,用例标题,测试步骤,优先级,预期结果。 一种是通过xmind直接整理测试点,粗略的测试用例要点,思路梳理的过程。 公司有...
  • 一、测试流程是什么? 最近这个项目是比较全的因为我去的时候是从头跟进的,当时的话我们是有开项目立项会,然后的话我们组长去写他的一个测试计划,然后他给我们分模块,给项目排期,然后的话设计他的第一轮 第二...
  • 游戏领域的测试流程(详细版+问答)

    万次阅读 热门讨论 2021-05-08 11:20:55
    一、前言   第三章特别篇介绍了项目立项后对于游戏行业规划方向上的一些知识内容,为了让大家拓展一些对于游戏策划方面的知识,本文将介绍游戏领域的项目流程研发向过程,再次感谢大家的关注~ ...
  • 正规的测试流程是什么样的?这篇文章告诉你

    千次阅读 多人点赞 2021-03-21 12:28:33
    大厂的测试流程,看完这篇就知道了!
  • 压力测试流程

    千次阅读 2022-02-18 22:05:17
    一、压测流程 可参照上篇压测对抗流程 二、压测需求 需要明确需要压测的环境 需要压测的接口,其中包含接口的入参 需要明确接口的预计qps 需要明确线上机器配置 三、压测准备 3.1、服务端开发准备: 1.根据...
  • 性能测试流程

    千次阅读 2022-04-25 21:55:28
    性能测试流程: 1、性能测试需求分析 2、性能测试计划 3、性能测试用例编写 4、性能测试执行 编写/录制脚本 搭建场景 运行脚本 系统性能调优 5、性能测试报告总结 流程拆分: 一、性能测试需求分析 ...
  • 完整测试流程详解

    万次阅读 多人点赞 2020-08-06 20:04:44
    (了解熟悉业务,分析需求测试点) 1.确认功能(业务功能,辅助功能,数据约束,易用性需求,编辑约束,参数需求,权限需求,性能约束) 2.场景分析(考虑场景调用者和系统内部各个场景之间联系) 3.挖掘隐性需求( ...
  • 敏捷测试流程

    千次阅读 2021-03-03 17:35:49
    敏捷测试流程,测试是一个持续质量的反馈过程,如下图, wKiom1ZJUU2ABqFyAABJJ-7C5ro667.png 结合工作实际,得总结。并非所有测试团队都通用,需结合该公司实际 具体问题具体分析。 wKioL1ZJYtvSZqnFAAXOUBth6Ig...
  • 测试流程角度,对产品质量的一些总结思考一、熟悉的场景二、测试流程拆解分析1、需求评审2、技术设计评审3、测试方案设计4、线下测试(含灰度)5、线上测试6、测试复盘7、线上监控三、总结 一、熟悉的场景 生产...
  • 文章目录1 软件测试流程2 软件测试过程模型2.1 V模型(重点)2.2 W模型(重点)2.3 H模型2.4 X模型3 软件测试过程理念 1 软件测试流程 软件测试流程独立于开发之外的流程。在执行测试时,与开发有交集。 牢记该流程...
  • 流程分解 目的:本活动的意图 负责人:负责执行本活动的角色 参与人:配合执行本活动的角色 进入准则:能够开展本活动所须满足的因素或条件 输入:执行本活动需要使用的数据或文档 活动:将本活动的输入转化为...
  • 测试流程及测试方法

    千次阅读 2020-08-20 11:40:00
    测试设计开展流程 需求文档学习、输出问题确认列表、问题确认与汇总; 需求文档评审、开发讲解,测试提问、输出评审结论,归档; 制定测试设计计划、制定设计任务分配表; 启动设计输出思维导图、思维导图评审,...
  • POSTMAN接口测试流程

    万次阅读 2021-11-22 16:49:03
    POSTMAN接口测试流程 一、首先是了解基本的测试步骤 设计测试用例 配置PostMan测试环境 根据测试用例在PostMan填写接口信息 执行并分析结果与需求文档是否一致 二、接下来直接进入POSTMAN的配置 (1)先创建一个...
  • 前言:整理了一下软件测试流程规范简洁,仅供参考! 一、流程图概述 二、测试启动阶段(需求分析) 参与软件需求评审、技术评审,以测试的角度分析需求的可测性,可构思将来对测试进行的方法、原则等。更重要的是对...
  • 软件测试流程及规范-01

    千次阅读 2021-11-01 10:42:00
    目录测试相关流程测试相关流程说明 注意:流程是按照工作积累,非通用的测试标准流程,仅可参考即可。 测试相关流程测试开始前期需要知道的流程内容(参考): 测试主要流程顺序图(参考): 测试缺陷...
  • 渗透测试流程

    千次阅读 2022-02-15 11:04:02
    对客户单位的web站点进行渗透测试流程: 1、信息收集:用namp或goby、awvs对web站点进行扫描,如果要做的详细点可以在用御剑进行后台扫描,使用whois进行域名反查。 2、漏洞利用:根据得到的信息上网查找相关...
  • 渗透测试流程(基础理论)

    千次阅读 2021-12-29 20:24:44
    渗透测试流程 1、专用术语介绍 ​ 1.脚本(asp、php、jsp) ​ 2.html (css、js、html) ​ 3.HTTP协议 ​ 4.CMS (B/S) ​ 5.MD5 ​ 6.肉鸡、抓鸡、跳板 ​ 7.一司话木马、小马、大马 ​ 8.webshell、提权、后门 ​ 9...
  • 一张图了解软件测试流程

    千次阅读 2022-04-12 12:14:55
    测试环境测试测试报告 验收测试、线上测试 2、完整流程图 精彩推荐 面试笔试系列 思维导图系列 Linux常用命令壁纸 接口Requests系列 测试框架pytest系列 Jmeter快速上手之接口测试 自动化...
  • 软件测试的生命周期&测试流程

    千次阅读 多人点赞 2019-04-29 21:47:16
    四、测试流程 五、缺陷管理流程 六、软件和质量 一、软件的生命周期(基于瀑布模型的生命周期) 软件的生命周期:是指从产生到淘汰的过程 包括:计划(开发方与需求方讨论)、需求分析、设计、编码、测试(单元测试...
  • 前言:20年毕业,毕业一年半,从事软件测试工作,第一家...所以21年九月份辞职换工作,经熟人引荐和多轮面试进了一个线上教育公司,继续从事软件测试工作,在这里短短几个月学到了很多,相对来说是一个完整的测试流程
  • 渗透测试 流程

    千次阅读 2022-01-27 18:46:11
    一. 简介 渗透测试(penetration test)是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种...渗透测试分为 白盒测试 和 黑盒测试 白盒测试就是在知道目标网站源码和其他一些信息的情况下对其进行渗透,
  • 接口测试流程

    千次阅读 2021-02-25 17:10:53
    一、接口测试概念 对系统或组件之间的接口进行测试,主要校验数据的交换、传递和控制管理过程,以及相互逻辑关系,接口协议有HTTP、webservice、socket等类型。 一种是程序内部的接口,一种是系统对外的接口。 1)...
  • 一次完整的渗透测试流程

    万次阅读 多人点赞 2018-12-01 19:13:56
    渗透测试就是利用我们所掌握的渗透知识,对网站进行一步一步的渗透,发现其中存在的漏洞和隐藏的风险,然后撰写一篇测试报告,提供给我们的客户。客户根据我们撰写的测试报告,对网站进行漏洞修补,以防止黑客的入侵...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 992,538
精华内容 397,015
关键字:

测试的流程