您好,欢迎访问三七文档
软件测试技术-概论行业分析zhoubaogang@zust.edu.cn行业分析zhoubaogang@zust.edu.cn行业分析zhoubaogang@zust.edu.cn行业分析zhoubaogang@zust.edu.cn国内软件测试现状(1)软件开发完成后进行软件测试(2)软件发布后如果发现质量问题,是软件测试人员的责任(3)软件测试哪个人员都行(4)软件测试是测试人员的事情,与程序员无关(5)项目进度紧张时少做测试,时间富裕时多做测试(6)软件测试是没有前途的工作,只有程序员才是软件高手zhoubaogang@zust.edu.cn课程目标本课程是计算机或软件专业课程,重在培养我们的实践能力,适应软件企业的工作环境和业界标准,并和国际先进的软件开发理念和测试技术保持同步。通过本课程的学习,了解并掌握软件产品质量保证的基本思想和科学体系、软件测试技术的基本内容,以及软件测试的方法、技术和工具的使用,为全面掌握软件技术和软件项目管理打下坚实的基础zhoubaogang@zust.edu.cn课程目标通过本课程的学习,我们还可以了解并掌握:有效的测试策略、方法和技术测试计划和测试用例的设计测试自动化的引入、应用测试团队的建立和测试项目的管理更清楚、准确地报告测试缺陷对软件产品质量的正确评估软件测试和质量保证的关系和区别……zhoubaogang@zust.edu.cn课程服务于-测试工程师Testengineer-QA工程师/经理QAEngineer/Manager-软件工程过程组成员ThememberofSEPG-项目经理Projectmanager-程序员Programmer-软件分析师SoftwareAnalyst-软件咨询顾问SoftwareConsultant-……zhoubaogang@zust.edu.cn什么是软件软件不等于程序软件=程序+文档软件测试=程序测试+文档测试zhoubaogang@zust.edu.cn软件组成1.客户需求-CustomerRequirements2.市场需求文档-MRD(MarketingRequirementDocument)3.软件规格说明书-Specifications4.技术设计文档–TechnicalDesignDocs5.测试文档TestDocuments6.在线帮助-Onlinehelp7.产品发布注释-ReleaseNotes/ReadMe8.产品软件包-Releasepackageszhoubaogang@zust.edu.cn软件产品的其他内容•帮助文件Helpfiles•示例Samplesandexamplestoillustratepoints•产品支持文档Productsupportinformation•错误信息Errormessages•安装手册Setupandinstallationinstructions•用户手册Usermanual(s)•……zhoubaogang@zust.edu.cn软件的分类功能划分系统软件和应用软件技术架构划分单机版、C/S、B/S用户划分产品软件和项目软件开发的规模划分大、中、小zhoubaogang@zust.edu.cn什么是Bug?Bug是什么Anyproblem/disfigurement/limitationinproductdesign&developmentFeatureorfunctioncan’tworkUnreasonabledesignPartlyrealizationinfunctionDataerrorRunerrorLimitationinfeaturesDifferencebetweenactualresultsandexpectedresultsUnfriendlyUI,LowperformanceOthers任何程序、系统中的问题,和产品设计书的不一致性,不能满足用户的需求zhoubaogang@zust.edu.cnBug的分类分类一(广义上,软件生命周期,与用户需求不符的问题)1)完全没有实现的功能2)基本实现功能,但有功能上或性能上的问题3)实现了用户不需要的功能分类二(测试执行阶段的问题)问题出在哪里?•项目没有被很好地理解;计划不周,最终导致进度拖延。•没有充分的文档资料。•人与人的交流比写程序困难得多。•软件可靠性缺少度量的标准,质量无法保证。•软件难以维护、不易升级。zhoubaogang@zust.edu.cn解决问题的想法•Bettermanagement管理•Differentteamorganizations组织•Betterlanguages&tools语言和工具•Uniformcodingconventions编程惯例必须意识到:“软件”≠编程,它有自己的生命周期(lifecycle)。大型软件系统的开发与其它工程项目如建造桥梁、制造飞机、轮船等的开发是同理的。zhoubaogang@zust.edu.cn软件测试早期定义软件测试就是为了发现错误而执行程序或系统的过程。标准定义使用人工或自动手段,来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别(1983.IEEE软件工程标准术语)zhoubaogang@zust.edu.cn高质量的软件应该是相对的无产品缺陷(BugFree)或只有极少量的缺陷,它能够准时递交给用户并且所用的费用都是在预算内的并且满足客户需求,是可维护的。但是,有关质量的好坏最终评价依赖于用户的反馈。“客户”广义定义:-内在的定义:下一个环节/工序的接收者,更广的服务的对象,周围有任何联系或影响的团队、人。软件的设计者,程序的检测者,项目管理者,品质管理人员…-广泛的定义:最终用户,客户管理,zhoubaogang@zust.edu.cn软件测试误区误区一:如果发布出去的软件有质量问题,都是软件测试人员的错误区二:软件测试技术要求不高,至少比编程容易多了误区三:有时间就多测试一些,来不及就少测试一些误区四:软件测试是测试人员的事,与开发人员无关误区五:根据软件开发瀑布模型,软件测试是开发后期的一个阶段zhoubaogang@zust.edu.cn软件测试的原则①所有测试的标准都是建立在用户需求之上。②软件测试必须基于“质量第一”的思想去开展各项工作,当时间和质量冲突时,时间要服从质量。③事先定义好产品的质量标准,只有有了质量标准,才能根据测试的结果,对产品的质量进行分析和评估。④软件项目一启动,软件测试也就是开始,而不是等程序写完,才开始进行测试。⑤穷举测试是不可能的。甚至一个大小适度的程序,其路径排列的数量也非常大,因此,在测试中不可能运行路径的每一种组合。zhoubaogang@zust.edu.cn软件测试的原则(2)⑥第三方进行测试会更客观,更有效。⑦软件测试计划是做好软件测试工作的前提。⑧测试用例是设计出来的,不是写出来的,所以要根据测试的目的,采用相应的方法去设计测试用例,从而提高测试的效率,更多地发现错误,提高程序的可靠性。⑨对发现错误较多的程序段,应进行更深入的测试。一般来说,一段程序中已发现的错误数越多,其中存在的错误概率也就越大。⑩重视文档,妥善保存一切测试过程文档(测试计划、测试用例、测试报告等)zhoubaogang@zust.edu.cn软件测试的原则(3)应当把“尽早和不断地测试”作为测试人员的座右铭回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见测试应从“小规模”开始,逐步转向“大规模”。不可将测试用例置之度外,排除随意性。必须彻底检查每一个测试结果。一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系对测试错误结果一定要有一个确认的过程。zhoubaogang@zust.edu.cn软件测试环境定义软件+硬件+网络如何搭建测试环境真实(项目、产品)干净无毒独立(测试与开发)zhoubaogang@zust.edu.cn软件测试环境的分类软件开发环境软件在开发过程中使用的环境软件生产环境最终用户使用的环境。zhoubaogang@zust.edu.cn测试用例概述如何以最少的人力、资源投入,在最短的时间内完成测试,发现软件系统的缺陷,保证软件的优良品质,则是软件公司探索和追求的目标。测试用例是测试工作的指导,是软件测试的必须遵守的准则,更是软件测试质量稳定的根本保障。zhoubaogang@zust.edu.cn什么是测试用例测试用例可以独立进行测试执行的最小单元测试内容的一系列情景和每个情景中必须依靠输入和输出,而对软件的正确性进行判断的测试文档,称为测试用例。测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。软件测试是有组织性、步骤性和计划性的,为了能将软件测试的行为转换为可管理的、具体量化的模式,需要创建和维护测试用例zhoubaogang@zust.edu.cn为什么需要测试用例在开始实施测试之前设计好测试用例,避免盲目测试并提高测试效率,减少测试的不完全性;测试用例的使用令软件测试的实施重点突出、目的明确根据测试用例的多少和执行难度,估算测试工作量,便于测试项目的时间和资源管理与跟踪;减少回归测试的复杂程度,在软件版本更新后只需修正少量的测试用例便可展开测试工作,降低工作强度、缩短项目周期;zhoubaogang@zust.edu.cn为什么需要测试用例(2)功能模块的测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断细化其效率也不断攀升;根据测试用例的操作步骤和执行结果,为分析软件缺陷和程序模块质量提供依据;可以方便地书写软件测试缺陷报告;可以根据测试用例的执行等级,实施不同级别的测试;便于大型软件测试项目外包测试指导基础;zhoubaogang@zust.edu.cn良好测试用例的特征可以最大程度地找出软件隐藏的缺陷可以最高效率的找出软件缺陷可以最大程度地满足测试覆盖要求既不过分复杂、也不能过分简单使软件缺陷的表现可以清楚的判定测试用例包含期望的正确的结果待查的输出结果或文件必须尽量简单明了不包含重复的测试用例测试用例内容清晰、格式一致、分类组织zhoubaogang@zust.edu.cn测试用例的组成元素与范例测试用例编号ID测试用例标题测试的模块•测试输入条件•期望的输出结果•其它说明ID类型标题测试步骤期望的结果说明001登录输入正确密码用户在登录界面输入正确的密码后,按回车键程序提示登录成功002登录输入错误密码用户在登录界面输入错误的密码后,按回车键程序提示输入密码错误,请重新输入003登录不输入的空密码用户在登录界面没有输入任何密码使密码为空后,按回车键程序提示用户没有输入密码,请输入程序应该告知用户没有输入密码,而不是密码错误zhoubaogang@zust.edu.cn测试用例编写注意事项为什么要写用例便于团队交流、便于重复测试、便于跟踪统计、便于用户自测,缺点是耗时。什么时候写用例需求分析和测试计划完成后,根据《系统需求规格说明书》和软件原型(DEMO)写测试用例由谁来写用例测试设计人员
本文标题:软件测试技术概论
链接地址:https://www.777doc.com/doc-3397760 .html