软件测试基础知识

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

软件测试基础知识姓名:崔启亮(GavinCui)Email:cuiql@sina.comMSN:QiliangCui@hotmail.com2005年7月2提要软件测试概念和术语软件测试的目的和原则软件测试不能保证什么?软件测试认识的几个误区软件测试流程软件测试过程软件测试周期软件测试分类与测试方法软件缺陷特征与产生原因软件缺陷跟踪驱动软件开发测试的启动与结束条件为什么需要冒烟测试与回归测试软件测试与开发的阶段关系软件测试人际关系方法论当前软件测试界存在的主要问题3软件测试的概念和术语软件质量(SWQuality):软件的功能和性能满足用户需要的程度软件Build:用于测试的软件中间版本程序。软件缺陷(SWDefect/bug/error):软件的功能/性能/界面/文档与软件需求文档和用户的需要不一致的现象软件缺陷生命周期(SWdefectlifecycle):报告、确认、修正、验证、关闭测试用例(Testcase):包含输入条件、执行步骤和测试期望的正确结果的文档缺陷跟踪系统(DTS):管理软件缺陷的整个生命周期的工具静态测试与动态测试(Statistictestinganddynamictesting):不执行/执行程序进行的测试白盒测试与黑盒测试(WhiteboxtestingandBlackboxtesting):测试软件代码结构的测试,不关心软件代码结构,以软件输入和输出来测试软件功能的测试。回归测试与冒烟测试(Regressiontestingandsmoketesting):在新的软件Build上验证修正的缺陷是否不再现,在大规模测试前,快速执行的基本功能测试。软件里程碑(SWMilestone):软件项目开发的各个关键过程。软件测试的目的与原则目的:寻找软件的缺陷跟踪修正软件缺陷验证修正的软件缺陷原则:尽早进行软件测试,早期发现和报告软件缺陷全程测试,测试过程贯穿于整个项目的生命周期测试独立与开发,开发人员不能测试自己的软件软件的缺陷驱动开发(基本代码完成后愈加明显)寻找Bug跟踪Bug验证Bug5软件测试不能保证什么测试的不彻底性经过测试后的软件不能保证没有缺陷测试的不完整性测试无法保证覆盖到每个应该测试的内容不可能测试到软件的全部输入与响应不可能测试到全部的程序分支的执行路径测试作用的间接性测试不能直接提高软件质量,软件质量的提高靠开发测试靠早期发现缺陷,督促修正缺陷间接提高软件质量问题与思考:如何克服软件测试的局限性?如何提高测试本身的质量和有效性?不彻底间接性不完整6软件测试的认识误区思考与讨论软件测试就是敲敲键盘,动动鼠标很容易,谁都能干软件测试很难,无法保证测试有效性软件开发完成后进行软件测试软件发布后如果发现质量问题,那是软件测试人员的错软件自动测试效率高,将取代软件手工测试软件测试是测试人员的事情,与程序员无关项目进度吃紧时少做些测试,时间富裕时多做测试软件测试是没有前途的工作,只有程序员才是软件高手7软件测试流程项目需求项目分析项目计划项目启动会议前期准备与设置测试版本传递内部计划与进度里程碑测试周期实施测试测试管理执行测试测试项目报告测试质量保证项目收尾审查客户满意度调查最终提交测试文档8软件测试过程创建测试计划构建测试环境执行软件测试处理测试结果软件测试过程制定测试计划设计测试用例执行测试撰写测试报告修正软件缺陷回归测试测试需求分析软件需求测试概要设计测试单元测试集成测试系统测试Alpha测试Beta测试验收测试9软件测试周期获得Build冒烟测试常规测试设置环境记录缺陷修正缺陷构建Build回归测试软件测试周期10软件测试分类与测试方法手工测试自动测试静态测试动态测试黑盒测试白盒测试功能测试界面测试单元测试集成测试系统测试验收测试冒烟测试常规测试内部测试外包测试安装/卸载测试兼容性测试本地化测试国际化测试安全性测试易用性测试Beta测试Alpha测试跨平台测试文档测试RTM测试11软件缺陷特征与产生原因缺陷特征:•危害性:引起软件功能错误、甚至系统崩溃•隐蔽性:某些类型的缺陷很难发现•多样性:功能缺陷、界面缺陷、文档缺陷•可重复性:按照一定的条件和步骤可以再现产生原因:1.开发人员不太了解软件需求,不清楚应该“做什么”和“不做什么”,常常做不合需求的事情;2.软件系统越来越复杂,开发人员不太可能精通所有的技术,不正确地使用技术,将产生Bug;3.软件设计文档不清楚,文档本身存在Bug,导致使用者产生更多的Bug;4.软件需求、设计说明书、程序经常发生变更,每次变更都可能产生新的Bug;5.“人无完人”,任何人在编程时都可能犯错误,导致程序中的Bug;6.由于时间或资源紧张,开发人员迫于进度的压力,尤其是在软件发布最后期限来临之际;7.开发人员过于自信,喜欢说“没问题”,不真实的“没问题”将产生真正的问题。12软件缺陷跟踪驱动软件开发缺陷报告缺陷确认缺陷修正编译新版本回归测试DTSDTS软件测试人员软件程序员软件代码管理编译BuildBuild发布项目管理人员Build编译人员13测试的启动与结束条件测试启动条件•测试计划和测试用例准备完毕•错误跟踪工具设置完毕•被测试的Build已经可用•测试的软件和硬件环境已经准备就绪测试结束条件•所有软件缺陷得到处理(最好目标:0缺陷)•在规定的时间内连续运行软件没有产生死机、系统崩溃和丢失数据的错误•完成了测试计划和测试用例指定的测试工作•软件经过“项目管理组”讨论,认为能达到客户的合理质量期望值•软件到了发布的截止日期14为什么需要冒烟测试与回归测试冒烟测试•最初微软命名,Smoketesting,又称健全性检查(Sanitycheck),模拟制作完电路板后的通电检查。•获得新的Build后快速测试程序。•确认Build可以安装、满足基本功能、可以进行常规测试。•大规模测试展开前必须进行冒烟测试•保证Build的可测试性、降低测试成本、提高测试效率、尽早发现和报告Build的问题。•如果没有通过冒烟测试,需要重新构建Build,然后再次执行冒烟测试•通过冒烟测试后,可以进行正常的软件测试回归测试•Regressiontesting,测试由于修正缺陷而更新的程序代码,彻底修正了上一个版本的缺陷,而且没有引入新的软件缺陷•在通过冒烟测试后,在执行新的测试内容前进行此项测试•回归测试可以采用手工测试或自动测试•执行原来所报告的缺陷步骤和方法,检验软件缺陷是否被修正•完全回归测试是把所有修正的缺陷进行验证。由于测试时间紧张,需要验证的缺陷数量巨大,则可以进行部分回归测试•将测试用例按照测试优先级进行部分回归测试•将严重性高的缺陷进行回归测试15软件测试与开发的阶段关系软件需求文档软件验收测试软件设计规格软件系统测试软件框架设计软件集成测试软件详细设计软件单元测试软件编码PM/市场/用户PM、架构师架构师高级程序员程序员程序/测试人员测试人员测试人员用户/测试人员程序员16软件测试人际关系方法论测试组长项目经理测试经理技术支持QA人员市场销售测试工程师•换位思考,相互理解,相互尊重•就事论事,用事实说话•不指责、不嘲笑、不卖关子、不打小报告、不搞人格攻击•按时完成份内工作,报告测试进度,提出测试存在的问题和改进方法•加强交流与沟通(项目会议、电话、书面、口头交流)•软件测试人员是项目的服务员•谦虚、热情、坚持原则、讲究方式17当前软件测试界存在的主要问题轻视软件测试的重要性,公司高层领导仅停留在口头重视层面缺乏合适的软件测试人才(管理人才、技术人才、培训人才)企业缺少充分的有效地软件测试培训(基础培训、项目和产品培训)软件测试人员“跳槽”频繁,造成测试队伍不稳定,引起测试质量波动软件测试工资待遇低、工作枯燥乏味、发展空间不大,很多人员不愿做测试缺乏有效的测试方法,测试的价值没有得到应有的体现软件测试缺少计划性和组织性,流程不规范,责任不明确,相互推诿。

1 / 17
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功