软件测试与缺陷管理.ppt
《软件测试与缺陷管理.ppt》由会员分享,可在线阅读,更多相关《软件测试与缺陷管理.ppt(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第第第五章五章五章五章软件测试与缺陷管理软件测试与缺陷管理软件测试与缺陷管理软件测试与缺陷管理在毕业设计项目中,我们将采取什么方法来进行进度管理在毕业设计项目中,我们将采取什么方法来进行进度管理?面试时,面试官问你面试时,面试官问你“如何实现一个权限系统如何实现一个权限系统”,你将如,你将如何回答?何回答?回顾回顾回顾回顾回顾回顾预习检查预习检查预习检查预习检查预习检查预习检查毕业设计项目中,我们使用什么工具来管理测试用例?毕业设计项目中,我们使用什么工具来管理测试用例?实现动态系统菜单的实现动态系统菜单的ASP.NET方法有哪些?方法有哪些?简单描述实现简单描述实现TreeView菜单的思
2、路?菜单的思路?本章任务本章任务本章任务本章任务本章任务本章任务编写编写“用户管理用户管理”测试用例测试用例使用使用ASP.NET技术实现系统功能菜单技术实现系统功能菜单本章目标本章目标本章目标本章目标本章目标本章目标建立软件质量观念建立软件质量观念了解软件测试的意义和方法了解软件测试的意义和方法学会编写测试用例学会编写测试用例了解缺陷管理的流程了解缺陷管理的流程会使用会使用TreeView控件实现系统菜单控件实现系统菜单 为什么要做软件测试为什么要做软件测试(1)?软件缺陷和软件故障案例软件缺陷和软件故障案例案例案例1 迪斯尼的狮子王,迪斯尼的狮子王,19941995 兼容性问题兼容性问题案
3、例案例2 跨世纪跨世纪“千年虫千年虫”问题问题 设计考虑不周全设计考虑不周全案例案例3 爱国者导弹防御系统炸死自家人爱国者导弹防御系统炸死自家人 系统时钟误差积累系统时钟误差积累 为什么要做软件测试为什么要做软件测试(2)?系统故障原因:硬件故障系统故障原因:硬件故障:软件故障软件故障=10:1 运行软件的驻留故障密度运行软件的驻留故障密度(每千行代码的故障数目每千行代码的故障数目):要求很高的关键财务或财产软件为:要求很高的关键财务或财产软件为:110个软件缺陷个软件缺陷/千行代码千行代码关键的生命软件为:关键的生命软件为:0.011个故障个故障/千行代码千行代码软件失败时,也许仅仅是给我们
4、带来了不便软件失败时,也许仅仅是给我们带来了不便(案例案例1),也可能是灾难性,也可能是灾难性的的(案例案例3)。我们需要。我们需要软件测试软件测试,来保障软件质量。,来保障软件质量。什么是软件缺陷什么是软件缺陷(Bug)?软件缺陷的定义软件缺陷的定义软件未达到产品说明书中已经标明的功能软件未达到产品说明书中已经标明的功能软件出现了产品说明书中指明不会出现的错误软件出现了产品说明书中指明不会出现的错误软件未达到产品说明书中虽未指出但应当达到的目标软件未达到产品说明书中虽未指出但应当达到的目标软件功能超出了产品说明书中指明的范围软件功能超出了产品说明书中指明的范围软件测试人员认为软件难以理解、不
5、易使用,或者最终用户认为该软件测试人员认为软件难以理解、不易使用,或者最终用户认为该软件使用效果不良软件使用效果不良计算器的例子计算器的例子 小结小结1 这时,漂亮的空姐过来宣布:这时,漂亮的空姐过来宣布:“旅客朋友们请放心,我们飞旅客朋友们请放心,我们飞机安装有先进的安全控制系统,机安装有先进的安全控制系统,该系统是由著名的该系统是由著名的公司(你公司(你所在的公司)开发的,所在的公司)开发的,.”假如你现在坐在飞机上,忽然飞机开始颤抖假如你现在坐在飞机上,忽然飞机开始颤抖.要想真正设计、编写出高质量的软件,首先需要我们在做事要想真正设计、编写出高质量的软件,首先需要我们在做事的时候,脑子里
6、具有的时候,脑子里具有质量意识质量意识。这时,你是顿时感到踏实,还是忽然觉得什么都完了?这时,你是顿时感到踏实,还是忽然觉得什么都完了?什么是软件测试?什么是软件测试?什么是软件测试什么是软件测试定义:软件测试是为了发现软件缺陷而执行程序的过程定义:软件测试是为了发现软件缺陷而执行程序的过程软件测试的依据软件测试的依据需求规格说明书(需求规格说明书(重中之重重中之重););相关的设计说明(概要设计,详细设计等);相关的设计说明(概要设计,详细设计等);已经基本成型的已经基本成型的UI(可以有针对性地补充一些用例)。(可以有针对性地补充一些用例)。软件测试方法软件测试方法(1)按照测试方法来分,
7、软件测试分为:按照测试方法来分,软件测试分为:黑盒测试黑盒测试白盒测试白盒测试软件测试方法软件测试方法(2)思想思想已知程序内部工作流程,通过测试检验程序内部动作是否按规已知程序内部工作流程,通过测试检验程序内部动作是否按规格说明书规定正常运作格说明书规定正常运作依据依据程序的内部逻辑结构,针对程序的逻辑路径设计测试用例程序的内部逻辑结构,针对程序的逻辑路径设计测试用例特点特点必须了解程序的内部工作流程必须了解程序的内部工作流程白盒测试白盒测试 思想思想根据已知程序的功能和性能根据已知程序的功能和性能(而不是内部细节而不是内部细节),通过测试检验,通过测试检验每个功能和性能是否正常每个功能和性
8、能是否正常依据依据程序的功能和性能描述程序的功能和性能描述特点特点知道程序的功能和性能,不必了解程序的内部结构和处理细节知道程序的功能和性能,不必了解程序的内部结构和处理细节软件测试方法软件测试方法(3)黑盒测试黑盒测试 软件测试阶段软件测试阶段按照测试阶段来分,软件测试分为:按照测试阶段来分,软件测试分为:需求分析需求分析概要设计概要设计详细设计详细设计编码编码单元测试单元测试集成测试集成测试确认测试确认测试软件开发过程软件开发过程软件测试阶段软件测试阶段用户需求用户需求验收测试验收测试什么是测试用例?什么是测试用例?测试用例的定义测试用例的定义测试用例就是一个测试用例就是一个“情况情况”,
9、软件程序在这种情况下,必须能够,软件程序在这种情况下,必须能够正常运行并且得到预期的结果。正常运行并且得到预期的结果。一个简化的测试用例:一个简化的测试用例:用例:用例:用户登录用户登录前置条件:前置条件:用户进入到用户进入到“用户登录页面用户登录页面”输入:输入:合法用户在系统中的用户名和密码合法用户在系统中的用户名和密码期待结果:期待结果:用户提交正确的用户名和密码后,顺利进入系统用户提交正确的用户名和密码后,顺利进入系统测试结果:测试结果:成功成功/失败失败测试用例的设计原则测试用例的设计原则测试用例的设计原则测试用例的设计原则对应需求编写测试用例对应需求编写测试用例 测试用例要全面覆盖
10、需求规格说明书中的软件功能点测试用例要全面覆盖需求规格说明书中的软件功能点便于发现有价值的缺陷便于发现有价值的缺陷 系统要求上传系统要求上传2M以下的文件,一般上载以下的文件,一般上载1M多一点的文件绝不会有问多一点的文件绝不会有问题。这时题。这时“敏感敏感”会让我们设计测试用例时,尽量去注意边界条件,会让我们设计测试用例时,尽量去注意边界条件,上载上载1.9M的文件会不会出问题?上载正好的文件会不会出问题?上载正好2M的文件呢?上载的文件呢?上载2M多一多一点的文件呢?点的文件呢?测试用例的组织方式测试用例的组织方式测试用例的组织方式测试用例的组织方式系统模块系统模块功能点功能点用例编号用例
11、编号用例说明用例说明前置条件前置条件输入输入预期结果预期结果测试结果测试结果失败原因失败原因教员讲解教员讲解小结小结2软件测试按测试方法来分,分为哪两种?两种方法各有什软件测试按测试方法来分,分为哪两种?两种方法各有什么特点?么特点?设计测试用例的两个原则是?设计测试用例的两个原则是?为什么要做缺陷管理?为什么要做缺陷管理?看看缺陷会给我们的软件开发过程造成怎样的混乱?看看缺陷会给我们的软件开发过程造成怎样的混乱?每发现一个每发现一个Bug,都要惊动整个项目组,都要惊动整个项目组 例:例:测试人员发现了一个测试人员发现了一个Bug,当作发现新大陆一样告诉给项目组长,项,当作发现新大陆一样告诉给
12、项目组长,项目组长找到开发组长,开发组长再找程序目组长找到开发组长,开发组长再找程序.Bug没有指明修改人,大家都不闻不问没有指明修改人,大家都不闻不问例:例:测试人员将几十个测试人员将几十个Bug邮件群发给开发组,开发组先是一片混乱,然邮件群发给开发组,开发组先是一片混乱,然后立刻平静下来。事不关己,高高挂起后立刻平静下来。事不关己,高高挂起.Bug的沟通成本往往很高的沟通成本往往很高例:例:测试人员发现小张测试人员发现小张Bug后立即发给程序员小王,小王每次都需要和小后立即发给程序员小王,小王每次都需要和小张进行大量的张进行大量的“沟通交流沟通交流”来理解来理解Bug。缺陷管理缺陷管理可以
13、帮助我们解决上述问题,将缺陷可以帮助我们解决上述问题,将缺陷(Bug)按按严重程度划分等级,按特定的流程来进行管理。严重程度划分等级,按特定的流程来进行管理。如何进行缺陷管理如何进行缺陷管理(1)1、缺陷等级划分、缺陷等级划分严重的缺陷:所导致的问题会导致系统罢工、工作不正常严重的缺陷:所导致的问题会导致系统罢工、工作不正常 例:例:windows的蓝屏、死机。的蓝屏、死机。一般的缺陷:主要工作运作不完全,所产生的问题虽然严重,但一般的缺陷:主要工作运作不完全,所产生的问题虽然严重,但是不影响下一步的测试。是不影响下一步的测试。例:软件异常。例:软件异常。轻微的缺陷:功能运作正常,可是有改进的
14、空间。轻微的缺陷:功能运作正常,可是有改进的空间。例:对例:对“必填必填”的文本框未作校验。的文本框未作校验。如何进行缺陷管理如何进行缺陷管理(2)2、缺陷管理中的角色、缺陷管理中的角色开发负责人(项目组长)开发负责人(项目组长)负责负责制定缺陷管理计划和流程制定缺陷管理计划和流程,将测试工程师发现的问题,将测试工程师发现的问题指派指派给指定开给指定开发工程师,发工程师,协调协调缺陷管理流程中的问题。缺陷管理流程中的问题。测试工程师测试工程师将发现的将发现的问题提交问题提交到缺陷管理系统中,写明问题的描述、严重程度,问到缺陷管理系统中,写明问题的描述、严重程度,问题重现方法;负责题重现方法;负
15、责重新测试重新测试开发工程师修改过的缺陷。开发工程师修改过的缺陷。开发工程师开发工程师确认并修改确认并修改指定给自己的软件缺陷。指定给自己的软件缺陷。如何进行缺陷管理如何进行缺陷管理(3)3、缺陷管理流程、缺陷管理流程缺陷管理工具缺陷管理工具专业缺陷管理工具专业缺陷管理工具BugzillaBugzilla是一款很专业的缺陷管理工具。它具有一般缺陷管理系统所是一款很专业的缺陷管理工具。它具有一般缺陷管理系统所必须的功能:必须的功能:提供一个开发和测试交互的平台,将测试和改错程序化。不需要提供一个开发和测试交互的平台,将测试和改错程序化。不需要测试人员就每一个问题和开发人员直接交流,也避免了发生错
16、误测试人员就每一个问题和开发人员直接交流,也避免了发生错误被遗忘的问题被遗忘的问题提供错误检索功能,供项目经理和测试经理掌握测试和修改情况提供错误检索功能,供项目经理和测试经理掌握测试和修改情况毕业设计项目中的缺陷管理毕业设计项目中的缺陷管理在毕业设计中,我们将使用在毕业设计中,我们将使用常见问题列表常见问题列表管理缺陷管理缺陷常见问题列表常见问题列表将放在将放在VSS服务器上,由小组组长维护。服务器上,由小组组长维护。小组内人员发现问题后,在问题列表中提出问题,组内各成员经常查小组内人员发现问题后,在问题列表中提出问题,组内各成员经常查看该问题列表,遇见自己可以解答的问题,将解决方案写入表格
17、。看该问题列表,遇见自己可以解答的问题,将解决方案写入表格。教员讲解教员讲解小结小结3软件缺陷按严重程度可以分为三个等级、分别是什么?软件缺陷按严重程度可以分为三个等级、分别是什么?简单说说在你以前的项目(包括毕业设计项目)中,是如简单说说在你以前的项目(包括毕业设计项目)中,是如何进行缺陷管理的?何进行缺陷管理的?ASP.NET中常用来实现动态菜单的两种方法中常用来实现动态菜单的两种方法系统功能菜单的系统功能菜单的ASP.NET解决方案解决方案 用用TreeView实现动态菜单实现动态菜单 用用Accordion实现动态菜单实现动态菜单 教员讲解两种方式的区别和应用场景教员讲解两种方式的区别
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 缺陷 管理
限制150内