想了解一个项目完整测试流程,看这篇文章就OK了

news2024/10/5 21:22:53

 项目的测试流程大只包含的几个阶段:立项、需求评审、用例评审、测试执行、测试报告文档
  

一、立项后测试需要拿到的文档


  1、需求说明书
  2、原型图(及UI图)
  3、接口文档
  4、数据库字典(表的数量、缓存机制)

二、需求评审


  参加人员:开发、测试及需求人员,由需求人员主持讲解。
  为了会议的有效举行,测试及开发人员需要在会议开始之前熟悉需求文档及原型,将有疑问 的点标注出来在会议中一一确认,对不明确的点要督促开发及需求一并关注,对不能立马得到肯定回复的点记录在一起,会议结束后,邮件整理好发出给各位参与的人员。
  在项目可控的进度中,需求评审时必要的环节。当然,有些比较小的项目会忽略此阶段,个人认为这是非常有必要的环节,这不但减少了后期开发、测试、需求人员的意见分歧,保证项目的进度的必要手段。

三、用例编写(同时根据开发计划编写测试计划)

 
  用例功能类型
  所在就职部门将用例分成7类:
  1、主流程:该模块实现的主要功能流程。
  2、备选流:不一定完成执行一个功能,而是终止了流程。
  3、异常流:由于某些异常原因,使流程的功能无法实现。
  4、业务规则:必填项,强制的要求。
  5、正常类:返回功能、必填项输入范围、页面按钮的切换等。
  6、异常类:网络异常、返回异常等。
  7、界面检查:针对每个页面的样式及内容检查。
  注:几个大类中主流程、正常类、异常类、和界面检查四个大类使用的比较多,一个项目不需要涵盖所有的用例类别,只需要根据所在项目的实际情况来进行测试用例的分类即可。
  编写用例可在TestLink及excel上进行,一般会在TestLink上进行,小项目会比较习惯用excel进行,excel记录测试用例的字段有:
  用例编号、功能模块、功能类型、用例等级、用例描述、前置条件、数据、测试步骤、预期结果、客户端、执行结果、备注、设计人、执行人等
  用例编写注意点:
  1、尽可能结合用例设计方法设计测试用例
  2、不要只根据需求文档明确标出的需求编写用例,还需要多考虑一些衍生的场景;
  3、用例编写前,先画出整个功能的简要流程图;
  4、用例描述简洁且带有结果,不要重复赘述;
  5、用例步骤和预期结果要一致,且一个步骤对应一个预期结果。
  测试用例的编写方法
  1、等价类划分
  2、边界值分析法
  3、错误推断法
  4、因果分析法
  5、场景法


四、用例评审


  参与人员:开发、测试、需求人员、项目经理,由测试人员主导。
  此环节在开发完成功能之前进行,根据评审时提的点进行用例完善,完善后邮件发给参与人员。
  在项目组中,更多情况下测试比开发会更了解需求,专业决定我们对需求的理解是肯定更接近客户的,我们的对需求理解后的输出产物是测试用例,某种意义上讲用例是对需求细化的一种。 而开发对需求理解会更偏向于功能实现,产物就是程序。所以开发、测试经常会存在需求理解不一致的情况,开发也不会那么细致的去理解需求,这点相信所有的项目经理和需求分析都是有共鸣的:
  我们做测试用例评审的作用有但不局限于以下3点:
  1、统一开发、测试、需求三方对需求的理解
  2、帮组开发更细致的去理解需求、同时养成看需求的习惯
  3、需求分析人员在一定程度上对需求的理解也是有盲点的,通过评审可以挖出这些盲点(需求评审的作用也是一样)
  4、测试人员的能力和经验不一样,所有用例也会有差异性,通过评审可以指出我们遗漏的场景,从而能更好的保障咱们的项目质量
  5、在用例评审时,很多交互设计上的问题,前后台交互的问题等都会暴露
  6、如果测试用例在开发完成前进行评审,很多时候开发人员即使不去看需求说明书,只要他认真的参加了用例评审会,基本上也不会出现遗漏需求,需求实现偏差太大的情况了.因为你要去每个开发人员那么仔细的去看需求,短时间内是不太可能的。用例评审是这个过渡期的桥梁。
  一般可根据计划时间完成用例编写,中间会预留1天给他们看需求。在评审每一个模块的用例之前,会明确点名这几个人要注意,在评审的过程中,问开发一些问题,不是只单纯的讲用例,他们可以不看需求,但是我会提问一下,们要同时提升开发人员的参与感。


五、测试执行


  showcase测试:
  测试到开发的电脑上进行,主要执行一下关键测试用例、流程用例,由开发操作,测试人员一起查看。showcase不通过,则打回,邮件发出。
  冒烟测试:
  showcase测试通过后,提交到测试,由测试人员开始大量跑关键测试用例。若针对某个模块跑用例时,出现较多问题,则也可重新打回给开发。冒烟测试报告邮件如下字段:测试模块      是否通过   不通过原因    测试详情    备注
  邮件描述大致如下:以下是截止到某个日期,已提交的功能冒烟测试结果,都不通过,详情如下:
  ps:冒烟测试不通过的原因基本上都是。。。。。,麻烦大家相互配合,早点修复提测,谢谢~
  功能测试:
  功能测试在手工测试中是主要的阶段,这个阶段主要是全量跑测试用例,提交bug到缺陷管理工具。
  1、表单测试:
  a、表单数据的字段、完整性及表单输入框的长度限制问题
  b、一些常理性逻辑验证,比如:出生日期和职业,工作年限是否恰当,所在地省份城市区域间的匹配等,如果设定使用默认值,也需要测试。
  2、导航测试:
  导航测试,就是在不同的页面跳转之间,或者按钮、对话框、列表以及窗口等,通过考虑这些因素去判断一个应用是否易于导航:是否直观?系统的主要模块是否可以通过主页访问或者到达?站点是否需要站内地图或者搜索引擎等其他帮助?web系统导航的另外一个重点就是页面结构、导航、菜单、风格等是否一致,确保用户可以凭借直觉或者简单的判断就可以找到自己想要的内容。
  3、UI测试:
  也可以理解为UI测试,其中包括图片、动画、边框、颜色、字体、背景、按钮等等。
  注: 其中要考虑的几个重点,我做了一个大概的总结:
  a、图片要有明确的用途,代表;图片尺寸尽量小,一般采用JPG或者GIF压缩(即规格大小的限制)
  b、页面整体风格是否和系统的用途一致
  c、背景颜色,字体,搭配是否合理
  4、内容测试:
  这个主要用来检测web系统提供信息的准确性、相关性。
  比如:商品的价格,文字描述;信息的准确性,是否有拼写错误;(这点比较容易忽略,需要多注意)信息的相关性,比如很多网站的“相关文章列表,视频列表等”
  5、整体界面测试
  a、 这个也就是我们常说的用户体验。用户浏览时是否感觉舒适,整体风格等等
  b、建议一般做一个类似问卷调查的形式,来判定用户的反馈信息,最好有最终用户的参与,可参考类似的笔记哦啊普遍的系统风格是怎样的,结合实际来考虑本测试系统的风格

  6、链接测试(平时在测试过程中并不关注,而是在权限分配的安全测试中比较注重,主要是不同权限的人分享的链接是否能正确过滤,保证安全)

  7、输入框测试
  在web测试中,我们经常遇到这种输入框的测试,输入框测试看似简单,实际上包含了很多的测试基本的方法,思考逻辑,下面就是我总结出来的一些注意点:
  1)验证输入输出信息的一致性
  2)输入框前面的文字提示是否正确
  3)对特殊字符的处理、识别:单双引号,括号,逗号、分号等等,以及大小写状态,半角全角状态下的情况
  4)输入框的大小、长度、边框等
  5)不同字符的输入,以及字符组合情况的处理(数字+字母+字符等)
  6)对空格、tab换行键的处理机制
  7)密码输入框字符星号或者其他星号的转行,加密
  8)输入框输入字符长度是否有限制
  9)字符本身显示的颜色,规格等
  10)有些输入框需要加以限制,如输错,是否有提示?提示是否简单合理?
  11)输入状态,某种情况下输入框出于不可编辑,当再次处于编辑状态,输入框的输入状态是否有变化?
  12)输入类型:是否允许复制黏贴剪切等输入操作
  13)关键字是否支持通配符,以及关键字的搜索能力,敏感字等情况
  14)输入框输入空格的情况
  15)比如登陆注册,各项输入条件的判定:是否输入,输入是否正确等

    用户权限测试
  用户权限,顾名思义,就是该账号拥有哪些执行操作的权利
  1)给某账号赋予权限后,登陆该账号,查看是否拥有已赋予的权限,以及权限设置是否正确(权限是否超过或者不足)
  2)删除或修改已经登陆并且正在执行操作的账号权限,程序能否正确处理,验证
  3)重新注册系统变更登陆身份后再登陆,程序能否正确执行,之前所拥有的权限能否继续使用
  4)在用工作分配或者角色管理情况下,删除包含用户的工作组或者角色,程序能否正确处理
  5)不同权限账号登陆同一个系统,权限范围是否正确
  6)能否给信息为空、长用户名的账号添加权限
  7)是否允许删除系统管理员或者修改管理员权限?删除或者修改后的实际情况
  8)已登录的用户能否修改或者删除自己或者他人的权限,信息
  9)添加用户(有编号或者标识),不同用户名标识的组合情况下,权限能否处理正确
  10)修改用户权限或者信息后,对其他模块是否有影响
  11)如果修改用户信息为和已存在的其他用户信息相同,能否修改成功?是否有对应提示?
  12)修改某些设置,是否会对与该账号权限相同或者高于/低于该账号的其他账号的权限造成影响
  13)同一用户是否可以同时属于其他组,各个组的权限能否交叉?

       回归测试
  回归测试书要是根据在测试执行过程中记录的bug及执行失败的用例来进行的,根据记录的bug进行验证是否已经修改更新好,必要时,根据bug量的多少来评估是否需要重新跑一下系统的流程。

  兼容性测试
  a、平台兼容
  在有很多的操作系统,比如Windows、Unix、Linux、macintosh等;用户使用哪个系统取决于用户,因此,系统兼容测试就很有必要了。
  b、浏览器兼容
  浏览器是web客户端最核心的组件,不同的浏览器,对Java,JavaScript,css或者HTML的规格都有不同的支持;
  另外,采用的框架和结构风格在不同浏览器中也存在不同的显示甚至不显示,不同的浏览器对安全性的设置也是不同的。
  测试浏览器兼容,有个方法就是创建一个兼容性矩阵,来测试不同厂商不同版本的浏览器兼容。
  比如测试IE浏览器,可以通过一个叫做IEtester的工具来测试兼容,或者可以通过F12控制台来切换浏览器版本来测试兼容以前一些前端元素的显示等
  鉴于国内市场浏览器很多,比如360、搜狗,搜狐、QQ浏览器等,这些本土的浏览器基本都采用的IE浏览器内核的双核配置

     安全测试
  安全测试的主要区域有以下几点:
  a、现在很多web应用系统都采用先注册后登录的方式,因此,测试用户名和密码的有效无效性,注意大小写敏感,次数限制,是否可以不登录而浏览某些页面等
  b、是否有超时限制,链接分享,cookie劫持
  c、测试用户操作时相关信息是否写入了日志文件、是否可追踪等
  d、如果使用了安全套字,需要测试加密是否正确,加密前后的信息完整性,正确性
  e、没有经过授权,是否可以在服务器端或者前端放置和编辑脚本的问题
  f、输入框的SQL注入验证


六、测试报告及操作手册


  测试报告每个公司的使用模板可能不尽相同,但是重点都是反映测试结果及测试中出现的bug分配模块,还要关注bug解决的状态,只要根据模板中的需要去进行统计即可。
  操作手册主要是写给使用该系统的人员看的,要求是具体详细,什么角色什么模块可进行什么操作的描述要清晰,一步一步配上截图和文字。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/871599.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第57步 深度学习图像识别:CNN可视化(Pytorch)

基于WIN10的64位系统演示 一、写在前面 由于不少模型使用的是Pytorch,因此这一期补上基于Pytorch实现CNN可视化的教程和代码,以SqueezeNet模型为例。 二、CNN可视化实战 继续使用胸片的数据集:肺结核病人和健康人的胸片的识别。其中&…

新版百度、百家号旋转验证码识别

昨天突然发现,百度旋转验证码发生了变化,导致使用老版本验证码训练出来的识别模型效果不佳。所有昨天花了一天时间完成了新版模型的训练。 老版本验证码 新版本验证码 新版的验证码感觉像是AI绘画随机生成的,还有随机阴影出现。 验证码识别…

python -m参数的作用(python3 -m)

文章目录 Python -m 参数的作用直接执行模块代码模块自测试环境隔离避免名称冲突 其他:python3 --help Python -m 参数的作用 在Python中,使用-m参数可以执行一个模块作为脚本。它是用于从命令行直接运行一个Python模块的标志。这种方式具有以下几个方面…

git远程仓库的创建及使用

1.仓库的概念: 1.1 本地仓库: 了解远程仓库前我们先了解一下本地仓库,本地仓库开发人员在完成部分代码的编写之后,可以将这一部分的代码做一个提交。这个提交完全就是一个新的版本提交,当然这个提交动作是在开发者的电…

QT生成Word PDF文档

需求:将软件处理的结果保存为一个报告文档,文档中包含表格、图片、文字,格式为word的.doc和.pdf。生成word是为了便于用户编辑。 开发环境:qt4.8.4vs2010 在qt的官网上对于pdf的操作介绍如下:http://qt-project.org/…

【Linux】NAT技术——解决IP地址短缺手段

NAT技术 NAT(Network Address Translation,网络地址转换)技术,是解决IP地址不足的主要手段,并且能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。 NAT技术背景 在IPv4协议中,…

Windows - UWP - 网络不好的情况下安装(微软商店)MicrosoftStore的应用

Windows - UWP - 网络不好的情况下安装(微软商店)MicrosoftStore的应用 前言 UWP虽然几乎被微软抛弃了,但不得不否认UWP应用给用户带来的体验。沙箱的运行方式加上微软的审核,用户使用起来非常放心,并且完美契合Wind…

idea cannot download sources 解决方法

问题 点击class文件右上角下载源码失败 解决方案 找到idea terminal 控制台cd 至maven工程执行 mvn dependency:resolve -Dclassifiersources

session是什么?它与cookie有什么关系?

session是什么? Session是服务器端使用的一种记录客户端状态的机制,使用上比Cookie简单一些,相应的也增加了服务器的存储压力。 session和cookie一样,都是用来记录web服务器和客户端通信状态的机制,session和cookie不同…

AspectCore和MSDI 实现Name注册以及解析对象

AspectCore 在注册服务这块比较简单,默认是无法根据Name去注册和解析对象,这边做一下这块的扩展 大致原理是根据自定义Name去生成对应的动态类型,然后使用委托或者对象的方式,进行注册 tips:由于底层原理的原因,无法…

JavaWeb 速通JSP

目录 一、JSP快速入门 1.基本介绍 : 2.运行原理 : 二、JSP语法 1.page指令 : 2.声明脚本 : 3.表达式脚本 : 4.Java代码脚本 : 5.JSP注释 : 三、JSP对象 1.九大内置对象 : 2.四大域对象 : 1 基本介绍 2 应用实例 3.关于请求转发标签 : 一、JSP快速入门 1.基本介绍 …

用友-NC-Cloud远程代码执行漏洞[2023-HW]

用友-NC-Cloud远程代码执行漏洞[2023-HW] 一、漏洞介绍二、资产搜索三、漏洞复现PoC小龙POC检测脚本: 四、修复建议 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#…

KafkaStream:Springboot中集成

1、在kafka-demo中创建配置类 配置kafka参数 package com.heima.kafkademo.config;import lombok.Data; import org.apache.kafka.common.serialization.Serdes; import org.apache.kafka.streams.StreamsConfig; import org.springframework.boot.context.properties.Configu…

基于grpc从零开始搭建一个准生产分布式应用(2) - 工程构建

开始本章之前默认读者已经配置好了以下环境:Intellij IDEA 2022.1.2、JDK 1.8.0_144、Maven 3,另外也建议大家在一些免费代码托管平台开个帐号,这样就可以免费使用git做版本处理了,笔者自己私人使用的是阿里云的云效平台。因为此专…

【Lua基础入门】解密世界上最快的脚本语言

文章目录 前言一、Lua简介二、Lua功能三、安装LuaUbuntu LinuxWindows安装Lua 四、第一个Lua程序总结 前言 Lua是一种轻量级、快速且可嵌入的脚本语言,广泛应用于游戏开发、嵌入式系统、脚本扩展等领域。它的设计目标是简单、高效、可定制和易于集成。本文将介绍Lu…

射频入门知识-1

信号源 示波器 综合测试仪 功率计 噪声测试仪 频谱分析仪 频谱分析仪: 放大器的噪声系数测试 放大器增益测试 噪声和增益是放大器的最关键指标,学学怎么用频谱仪做放大器的噪声测试 那个 hbf740 输入和输出阻抗匹配具体怎么搞 《ADS2011射频电路设计与…

iOS Epub阅读器改造记录

六个月前在这个YHEpubDemo阅读器的基础上做了一些优化,这里做一下记录。 1.首行缩进修复 由于分页的存在,新的一页的首行可能是新的一行,则应该缩进;也可能是前面一页段落的延续,这时候不应该缩进。YHEpubDemo基于XDS…

Cenos7 搭建Minio集群部署服务器(一)

------> 道 | 法 | 术 | 器 | 势 <------ 多台服务器间免密登录|免密拷贝 Cenos7 搭建Minio集群部署服务器(一) 企业级开源对象存储(看看官网吹的牛B) 开源为云提供动力。开源为企业提供动力。开源为 MinIO 提供支持。每天都有成千上万的客户和社区成员信任 Mi…

Spring Boot @Validated 验证注解的使用

1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId> </dependency> 2、使用 2.1、非对象参数 参数如果是非对象格式&#xff0c;需要在controller类上面添…

cf暑假训练 1700-1800 day1

cf暑假训练 1700-1800 day1 1852B Imbalanced Arrays1850H. The Third Letter1833G Ksyusha and Chinchilla1833F Ira and Flamenco&#xff08;补完线段树来看&#xff09;1809D Binary String Sorting1780D Bit Guessing Game&#xff08;这题真的好难&#xff0c;我只能说我…