缺陷管理

怎样保证测试的质量

假如想象 提交于 2020-02-11 01:39:40
测试的目的是保证产品的质量,怎样做好质量控制是对测试人员的一大考验,分享一些工作中用到的经验,如下。 怎样保证测试的质量 1.不同的测试类型的结合,功能,性能,兼容性等,增加测试覆盖面,确保测试质量。 2.熟悉测试需求,测试目标,理解需求,设计测试用例。 3.用例的质量,对被测对象深入分析,功能进行细分,需求覆盖所有测试点,补充异常的测试点,复杂模块进行评审,提高测试点的覆盖面和测试用例的质量。 4.执行的质量,随时跟进测试进度,注意各类环境,各模块之间的交叉、关联,发现潜在问题。 5.缺陷管理,记录bug,跟踪管理缺陷,对遗留缺陷进行分析。 6.版本控制,建立主干分支,版本有问题可以随时恢复。 7.测试评估,对结果进行分析,讨论上线的风险,制定发生问题的解决方案。 来源: CSDN 作者: 包包翼 链接: https://blog.csdn.net/m0_46281078/article/details/104223907

软件测试管理方法(五)——软件缺陷管理

情到浓时终转凉″ 提交于 2020-02-08 01:45:13
0.软件缺陷的产生 软件缺陷 - Software Defect - Bug; 缺陷 的存在会导致软件产品在 某种程度上不能满足用户的需要 。 IEEE729-1983 对缺陷的标准定义: 从 产品内部 看,缺陷是软件产品开发或维护过程中 存在的错误、毛病等各种问题 ; 从 产品外部 看,缺陷是系统所需要实现的 某种功能的失效或违背 。 在软件的开发测试过程中项目组会特别关注软件缺陷的状况,这是因为一方面软件缺陷状况是项目质量和状态的重要指示数据,另一方面越到软件生命周期的后期修复软件缺陷的成本越高。 1.常见的缺陷 功能没有实现或与需求规格说明不一致; 界面、消息、提示、帮助不够准确或误导用户; 屏幕显示、打印结果不正确; 软件无故退出或没有反应; 边界条件未做处理,输入错误数据没有提示和说明; 运行速度慢或占用资源过多; 与常用的交互软件不兼容; 有时把尚未完成的小 功能 也归属于 软件缺陷 2.产生原因 在软件开发的过程中,软件缺陷的产生是不可避免的, ” 零缺陷 ” 是软件产品很难达到 一个 状态。 导致 软件缺陷产生的原因也是多种多样的,软件工程过程中的人、过程、工具都有可能导致产生软件缺陷,过程中的每一个环节都有可能产生缺陷,概括来说这些原因可以归结为四大类。 软件本身的复杂性 和抽象性: 在产品真正完成之前,每个人对软件的理解都不完全相同

SAP成都研究院姚瑶:软件质量保证工作的变迁

眉间皱痕 提交于 2020-02-05 03:15:58
大家好,我是来自SAP成都研究院Revenue Cloud 团队的质量工程师 , yoyo。很高兴可以和大家分享我个人的工作体会。每个团队都有QE(Quality Engineer), 相信大家对QE 的工作并不陌生,我也就不唠叨QE 的具体工作啦。作为从事软件质量保证工作十年的“老人”,我想就我个人的工作经历和大家探讨下软件质量保证工作的变迁。 当我们谈论软件产品的质量保证工作时,必然是基于某种软件开发模式上的。皮之不存,毛将焉附?脱离了软件开发模式,质量保证工作就是空中楼阁。相信大家都感受到,近十几年,软件开发模式不断涌现新的概念和词汇,Agile, Continuous Integration , Continuous Delivery, DevOps ,令人应接不暇。我们首先要理解软件开发模式的变迁,然后才能进行与开发模式匹配的质量保证活动。 1. 瀑布开发 传统的瀑布模式如下图: 在这种模式下,测试活动仅仅是线性开发活动的后期活动。质量保证严格依赖于各个文档(需求文档,设计文档,测试计划和测试报告)以及评审会议,自动化测试可有可无。 2.增量开发 团队把产品的需求,设计,实现以及测试放在若干迭代周期里完成,每个迭代结束的交付物视为产品的增量,不要求增量达到能交付的要求,但需要能够基本可以工作。产品的交付仍然发生在最后,如下图所示: 增量开发的核心就是持续测试和持续集成

Web 手工测试

强颜欢笑 提交于 2020-02-03 07:23:33
day 1 学习目标: 熟练搭建本地测试环境 掌握熟悉项目的步骤和内容 掌握项目基本的测试流程 基础环境介绍: 项目环境的组成部分: 操作系统 windows win7 win10 Linux Centos 6.x,7.x Redhat 6.x,7.x Ubuntu 14.z,16.x,18.x Mac web 服务器 apache: 稳定,文档齐全 默认监听端口:80 nginx: 负载均衡器 默认监听端口:80 tomcat:默认监听端口"8080 ->JAVA 数据库 Mysql Oracle Sql Server DB2 项目 LNMP: LINUX+Nginx+Mysql+PHP WAMP: Windows+Nginx+Mysql+PHP 扩展: Apache 与 Nginx 的区别: apache 与 nginx 均可以作为web服务器使用 apche 系统稳定性更强文档丰富 nginx 消耗更少的系统资源(如CPU,内存等) nginx 更加典型的应用场景是作为负载均衡器使用 搭建测试环境 准备工作 phpstudy安装文件 项目部署包 部署说明书 安装集成环境 apache 监听端口: 80 mysql 监听端口: 3306 部署项目 将TPshop 项目压缩包解压后文件夹里的全部内容放入phpstudy安装路径\www中 常见故障 mysql 端口被占用

谈谈测试中的常见问题及解决意见

一曲冷凌霜 提交于 2020-01-24 23:04:03
1、 测试人员需要何时参加需求分析? 原则上,测试人员对需求了解得越深入对测试工作越有利,所以最好一开始就应该参加需求分析工作。这样可以带来如下好处: 测试人员全程参与需求分析,对需求了解很深刻,减少了很多与开发人员的交互,节省了时间。测试人员参与前期开发讨论,直接掌握了不清晰的需求点; 早期确定测试用例的编写思路,为项目(产品)测试打好了基础; 可以获取一些测试数据,为测试用例设计提供帮助; 可以发现需求不合理的地方,降低了测试成本。 测试人员主要的工作之一就是确认系统是否正确实现了需求。测试人要不参与前期的工作,就只能依赖最后形成的需求文档,甚至由开发人员来讲解需求,而这些需求可能发生了“问题”,因为这个需求是已经经过分析的需求,很多的内容可能与用户的真正要求发生了偏差。同时如果只看最后形成的需求文档,对需求也会有理解上的偏差。因此作为测试人员要尽可能的获取到“第一线”的需求资料,才能真正地了解用户的业务,从而更好的对系统进行测试。 当然,如果测试人员不能参与需求环节,一定要通过其他途径保证需求的正确性,例如和开发人员进行集中讨论需求疑问的项目会议,并且一定要加强测试案例评审,甚至于是测试需求的评审。 2、 系统测试阶段低级缺陷较多怎么办? 在系统测试阶段,如果仍有很多低级缺陷,说明测试对象是不合格的,没有达到测试标准。如果系统阶段发现的简单缺陷(也就是不应该有的缺陷)较多

软件测试基础知识总结

て烟熏妆下的殇ゞ 提交于 2020-01-23 08:35:24
1. 软件测试的生命周期 需求分析–>测试计划–>测试设计、测试开发–>测试执行、测试评估 2.软件的生命周期 需求分析 计划 设计 编码 测试 运行维护 3.开发模型和测试模型: 瀑布模型: 特点 :串行的,适合于需求比较稳定的项目 缺点 :测试阶段比较晚,发现缺陷的时机比较晚 螺旋模型: 特点 :渐进式的,适合庞大,复杂,风险比较大的项目 缺点 :风险投入的时间,人员,资金多 增量,迭代: 特点 :适合较大的项目,降低项目的风险 传统的开发模型和敏捷的区别 (十二宣言): 个体与交互重于过程和工具 (强调人与人之间的沟通) 可用的软件重于完备的文档 (轻文档)–>对文档的依赖降低了 客户协作重于合同谈判 (客户参与) 响应变化重于遵循计划 (拥抱变化) 在每对比对中,后者并非全无价值,但我们更看重前者 敏捷: 也是一种开发模型,新研制的开发模型 特点 :敏捷(快) 1.周期比较短,最快一周,最多一个月 2.团队的人数一般不超过10个人 3.每一天都要开晨会 4.晨会的时间一般不超过10分钟 scrum(一种敏捷模式) scrum由product owner(产品经理),scrum master(项目经理) team(研发团队)组成 敏捷中的挑战 : 挑战1:轻文档 挑战2:快速迭代 4.测试的模型: (一)V模型: 发现bug晚,(和瀑布模型的缺点一样)

从成本与职责谈测试的核心价值到底是什么

丶灬走出姿态 提交于 2020-01-22 22:05:28
时间总是匆匆,不知不觉,2018,只剩二十来天。 十二月第一周的工作日,回想今年,测试团队的影响力,团队的价值是否较以往得到了有效的体现? 再见11月,你好12月! 与产品、研发相比,测试处于作业末梢。很少有产品或者研发团队去谈论他们的价值,因为产品的设计与实现是他们决定的。 有些新创的公司为了节约成本,往往不招聘测试岗,产品研发完成后不经测试即上线,错误的认为经历两三个版本的迭代,产品质量自然就好了。 日常和朋友们聊天时,也经常提到: 1.和一位做研发的朋友聊天,他们的项目中,前期只有研发没有测试,后来又让开发来担任测试。 2.另一位朋友的公司更恨,为了节约成本,公司招了一位UI,即做设计也担测试。 上面的例子,很好的说明了:在外界眼里,测试工作似乎是可有可无的,也是较容易被忽略、被替代的。 但是做测试的朋友们都知道,事实肯定不是这样的,测试人员的价值是不言而喻的,没有测试的产品质量是无法保证的,后期由产品质量而造成的损失也是不可估量的。 偶尔让大家谈谈:你认为测试的价值是什么的时候,却又欲言又止,不知从何谈起。 那么我们测试人员、测试团队的价值,到底是什么呢? 只有明确测试的价值,才能让测试团队得到外部的认可与重视,才能让测试人员的工作具有成就感。 从成本的角度看,测试的价值体现在 产品发布前期发现并修复问题,减少后需项目或客户发现问题而造成的成本(金钱、名誉等)。

缺陷分析和缺陷预防技术

早过忘川 提交于 2020-01-18 02:15:36
软件及相关系统日益庞大和复杂,开发过程和软件产品不可见,需求的易变、多变,这一系列的问题导致大量的 软件质量问题, 时刻提醒着软件工程师们提高软件测试技术,力求屏蔽更多的软件缺陷。缺陷分析和缺陷预防技术已经渗入到软件测试的每一个环节中。 最近在51Testing上看到相关的文章,再结合自己收集到的资料,稍微进行了一下总结,红色部分是偶自己的看法。 常见缺陷分析技术主要有七类: 1 、 ODC 缺陷分析: 由 IBM 的 waston 中心推出。将一个缺陷在生命周期的各环节的属性组织起来,从单维度、多维度来对缺陷进行分析,从不同角度得到各类缺陷的缺陷密度和缺陷比率,从而积累得到各类缺陷的基线值,用于评估测试活动、指导测试改进和整个研发流程的改进;同时根据各阶段缺陷分布得到缺陷去除过程特征模型,用于对测试活动进行评估和预测。 2 、 Gompertz 分析: 根据测试的累积投入时间和累积缺陷增长情况,拟合得到符合自己过程能力的缺陷增长 Gompertz 曲线,用来评估软件测试的充分性、预测软件极限缺陷数和退出测试所需时间、作为测试退出的判断依据、指导测试计划和策略的调整; 3 、 Rayleigh 分析: 通过生命周期各阶段缺陷发现情况得到缺陷 Rayleigh 曲线,用于评估软件质量、预测软件现场质量; 一般用于推测一段时间后,软件中还会残留多少BUG。 4 、四象限分析:

软件测试基础面试题

倾然丶 夕夏残阳落幕 提交于 2020-01-16 05:15:16
(1)什么是软件测试?软件测试的目的与原则? 定义:在规定的条件下对程序进行操作,以发现程序错误、衡量软件质量,并对其是否能满足设计要求进行评估的过程。 目的:在于发现错误、发现程序中存在的代码或业务逻辑错误、检验产品是否符合用户的需求、提高用户体验。 原则:如二八原则、测试应尽早启动、介入。 (2)什么是软件质量? 软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准、以及所有专业开发的软件都应具有的隐含特征的程度。 (3)软件的生命周期? 计划阶段----需求分析----设计阶段----编码----测试----运行与维护 (4)软件生存周期及其模型? 整个生存周期包括:问题的定义及规划、需求分析/评审、软件设计、软件编码、测试阶段、运行维护六个时期 周期模型:瀑布模型、迭代模型 (5)软件测试分为那几个阶段? 单元测试、继承测试、系统测试、验收测试是个主要阶段 单元测试:通常由开发人员进行 集成测试:将模块按照设计要求组装起来进行测试,主要目的是发现与接口相关的问题 系统测试:是在继承测试通过后进行的,目的是充分运行系统,验证各子系统是否都能正常工作并完成设计的要求 验收测试:上线前的最终测试 (6)什么是测试用例?测试脚本?两者的关系是什么? 用例:未实施而编制的一组测试输入、执行条件、各种环境设置以及预期结果以及期望结果的一个特定的集合 脚本

软件测试-基础篇1

左心房为你撑大大i 提交于 2020-01-13 05:33:21
软件测试 软件的定义 软件(software)、硬件(hardware)、程序(program)、文档(document) 软件=程序(包括数据)+文档; 缺陷的定义 1.从产品外部看, 缺陷是软件产品开发或维护过程中存在的 错误 、 毛病 等各种问题; 2. 从产品内部看,缺陷是系统所需要实现的某种功能的 失效 或 违背 3. 简单的说,用户在软件使用过程中遇到的任何软件 错误 、 异常 都可以称之为“软件缺陷”; 计算机基础 裸机也包含软件? 裸机包含软件,主要是 BIOS 程序(Basic input/output system 基本输入/输出系统); 常见的操作系统? Windows、Unix、Linux、苹果 软件分类 基本分类 a. 系统软件:操作系统、操作系统的补丁程序、驱动程序(操作系统的内核程序通过调用硬件的驱动程序完成硬件管理功能); b. 应用软件:;; 按照软件结构分类 a. 看软件的运行是否基于网络 -----不是,单机软件; -----是,分布式软件; 操作系统的主要功能? 硬件(设备)管理:通过驱动程序调度控制硬件设备; 进程管理:对运行的程序进行管理; 存储(内存)管理:使小内存可以运行大程序; 文件管理:管理文件和文件夹; 如何区分C/S和B/S结构软件? 主要看客户端需不需要安装专门的软件? - 需要—C/S - · 不需要—B/S 来源: