您好,欢迎访问三七文档
1、按照测试方法分类静态和动态测试静态测试静态测试是不运行被测试本身而寻找程序代码中可能存在的错误或评估程序代码的过程。静态测试通过分析或者监察源程序的语法、结构、过程、接口等来检查程序的正确性,找出问题动态测试动态是运行被测试程序,输入相应的测试数据,检查运行结果与预期结果的差异,判定执行结果是否符合要求,从而检验程序的正确性、可靠性和有效性,并分析系统运行效率和健壮性等性能。黑盒测试、灰盒测试、白盒测试黑盒测试黑盒测试(Black-boxTesting):又称为功能测试、数据驱动测试或者基于规格说明书的测试。注重于测试软件的功能需求。灰盒测试灰盒测试是介于黑盒测试与白盒测试之间的测试方法。在执行白盒测试的时候考虑黑盒测试的方法。白盒测试白盒测试(Write-boxTesting):又称结构测试、逻辑驱动测试或基于程序本身的测试冒烟测试冒烟测试(Smoketesting)的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作。一、冒烟测试的准备工作1、主流程和主功能的确认正式测试的前提是主功能、主流程通过。测试人员对自己项目的整体把握程度要强,在前期了解清楚需求后,把最重要的流程和功能列举出来,在冒烟测试前和开发人员一一确认,这对于冒烟测试是非常重要的一环。最好能够将功能点和流程在冒烟测试时要的预期结果和开发人员说明清楚。2、预计冒烟测试的最短和最大时间根据列出来的功能点和开发人员以往提交测试人员代码质量的可信度,评估下冒烟测试在不同环境下可能花费的最大时间和最小时间,然后列到测试计划中。3、冒烟测试数据的准备在前期对主要功能对应表的结构都了解地很透彻,需要准备的数据及时准备好。真正冒烟测试开始后,就不会因为准备数据或者了解表存储结构而浪费时间。二、冒烟测试的执行工作测试工程师严格按照前期的约定去校验主流程,全部校验和开发人员报告情况三、冒烟测试的总结工作1、时间:冒烟测试是否按时完成?有延误的话,要分析这段时间是不是会对后面正式测试的时间有影响。如果影响比较大可以给开发提建议,看后期有什么补救的方法可以既保证了质量又保证了按时上线,比如提高开发人员修复BUG的效率,测试时间顺延等。2、问题:分析冒烟测试中发现的问题,和开发人员强调这个影响主流程的问题在冒烟修复验证通过后,不能在正式测试中再次出现,否则加大测试人员重复验证的工作量,影响测试进度。对于一个小项目,也许冒烟测试只是花费2,3个小时就结束了,但是冒烟测试是麻雀虽小,五脏六腑全有。从前期确认主要功能,到最后的总结报告,我觉得每个流程都不能马虎,只有都准备好了,才能真正意义达到“冒烟测试”意义:仅用一袋烟功夫完成测试。回归测试在发生修改之后重新测试先前的测试以保证修改的正确性。理论上,对软件的任何新版本,都需要进行回归测试,验证以前发现和修复的错误是否在新软件版本上再现。回归测试的风险一个很小的改动可能引起大问题回归测试因为时间等原因不能讲系统全部重新测试基于风险的测试方法评估系统不同部分蕴含的风险,测试最高风险的部分该方法系统的某些部分缺乏充分的测试,甚至完全不测,但是风险是最低的。分析可能性和影响可能出错的机会出错后造成的影响程度功能测试和性能测试功能测试(Functionaltesting),根据产品特征、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求性能测试(Performancetesting),评价一个产品或组件与性能需求是否符合的测试。包括负载测试、强度测试、数据库容量测试、基准测试等类型压力测试和负载测试压力测试:获取系统正确运行的极限,检查系统在瞬间峰值负荷下正确执行的能力。负载测试:用于检查系统在使用大量数据的时候正确工作的能力,即检验系统的能力最高能达到什么程度。易用性测试主要从使用的合理性和方便性等角度对软件系统进行检查,发现人为因素或使用上的问题。在保证足够详细的程度下,用户界面要便于使用,对输入的响应时间和响应方式合理,输出有意义、正确,出错信息能够引导用户去解决问题,文档全面、确切等。易用性测试多数情况下没有一个量化的指标,主观性较强。安装测试安装测试(Installingtesting),确保该软件在正常情况和异常情况的不同条件下能够正确安装界面测试指测试用户界面的风格是否满足客户要求,文字是否正确,页面是否美观,文字,图片组合是否完美,操作是否友好等等配置测试配置测试(ConfigurationTesting)主要检查计算机系统内各个设备或各种资源之间的相互连接和功能分配中的错误文档测试主要检查文档的正确性、完备性和可理解性兼容性测试测试软件是否和系统的其它与之交互的元素之间兼容安全性测试检查系统对非法浸入的防范能力,检查系统中已经存在的系统安全性、保密性措施是否发挥作用,有无漏洞恢复测试主要检查系统的容错能力可移植性测试测试软件是否可以被成功移植到指定的硬件或软件平台上。引导测试软件开发中,验证系统在真实硬件和客户基础上处理典型操作的能力随机测试猴子测试没有书面测试用例、记录期望结果、检查列表、脚本或指令的测试。主要是根据测试者的经验对软件进行功能和性能抽查理论上,每一个被测软件版本都需要执行随机测试,尤其对于最后的将要发布的版本更要重视随机测试。随机测试最好由具有丰富测试经验的熟悉被测软件的测试人员进行测试。对于被测试的软件越熟悉,执行随机测试越容易健全测试软件主要功能成分的简单测试以保证它是否能进行基本的测试典型地是指一个初始化的测试工作,以决定一个新的软件版本测试是否足以执行下一步大的测试努力。例如,如果一个新版软件每5分钟与系统冲突,使系统陷于泥潭,说明该软件不够“健全”,目前不具备进一步测试的条件。强度测试检验系统的能力最高实际限度。进行强度测试时,让系统的运行处于资源的异常数量、异常频率和异常批量的条件下。例如,如果正常的中断平均频率为每秒一到二次,强度测试设计为每秒10次中断。又如某系统正常运行可支持10个终端并行工作,强度测试则检验15个终端并行工作手工和自动测试手工测试是采用手工的方式执行测试;自动化测试(AutomatedTesting),使用自动化测试工具来进行测试,这类测试一般不需要人干预,通常在GUI、性能等测试中用得较多。国际化测试、本地化能力测试、本地化测试国际化测试(Internationaltesting),国际化测试的目的是测试软件的国际化支持能力,发现软件的国际化的潜在问题,保证软件在世界不同区域中都能正常运行。本地化能力测试(Localizabilitytesting),本地化能力是指不需要重新设计或修改代码,将程序的用户界面翻译成任何目标语言的能力。为了降低本地化能力测试的成本,提高测试效率,本地化能力侧是通常在软件的伪本地化版本上进行本地化测试(Localizationtesting),本地化测试的对象是软件的本地化版本。本地化测试的环境是在本地化的操作系统上安装本地化的软件。从测试方法上可以分为基本功能测试,安装/卸载测试,当地区域的软硬件兼容性测试。测试的内容主要包括软件本地化后的界面布局和软件翻译的语言质量,包含软件、文档和联机帮助等部分通过测试(正面测试)通过测试主要用于验证系统和它陈述的需求一致,确认软件至少能做什么,一般通过分析规格需求说明书来设计测试用例。失败测试(反面测试)为了破坏软件而设计和执行的测试案例称为失败测试或迫使出错测试。失败测试用于证明“一个系统不会做不需要它做的事情”,同时也保证了系统的容错性。错误猜测错误猜测是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例的方法。需要测试人员具备的技术:掌握被测系统的知识,如设计方法或实现技术有关的早期测试阶段的结果的知识测试类似或相关系统的经验典型错误的知识通用的测试经验规则
本文标题:软件测试基本概念
链接地址:https://www.777doc.com/doc-1991432 .html