第一章1.生命周期是什么?答:1、提出问题2、可应用分析3、需求分析4、设计5、编码6、测试7、运行维护2.区别和特点是什么?答:1瀑布型六个阶段:计划、需求分析、设计、编码、测试、运行维护2原型模式;先建立一个能反映用户需求原型系统‘然后对原型进行反复扩充、改进和求精、最终建立符合用户需求系统3.测量模型:软件版本是逐步完善的4.螺旋模式:每个周期都包括制定计划、风险分析、实施工程、评审3.优秀软件的特征?答:1.满足用户的需求2.合理的进度,适量的成本和功能关系3.据别扩展性、灵活性、能够适应一定程度的需求变化4.能够有效地处理例外情况5.保持城和功能性的平衡4.测试和质量保证的区别?答:软件质量保证主要是缺陷得预防而软件测试主要是错误的测试5.三要素?答:三要素;前提条件、操作步骤、预期结果、实际结果6.错误产生的原因?答:1.当软件没有最终完成用户预期的功能要求时就表现为软件错误7.测试的分类?答:1单元测试(文档、白盒、接口路径)2集成测试(文档和需求、黑白盒、接口、功能、性能、路径)3系统测试(软件需求、独立小组执行黑盒测试)4验收测试(软件需求、由用户执行黑盒测试)8.概念?答:回收测试:错误别修正以后软件功能或环境产生变化后进行的重新测试功能测试:软件的功能是否符合功能性需求采用黑盒测试负载和压力测试:软件系统最大的负载测试性能测试:软件在各种情况下的性能易用性测试:软件是否更加的方便容易应用安装和反安装测试:软件在各种环境下进行的安装反安装的过程恢复测试:从故障中恢复过来的能力安全性测试:测试系统在非法入侵时的防治能力兼容性测试:测试软件在多种环境和其他软件或硬件的兼容的功能内存泄露测试:测试软件在运行过程中是否造成内存泄露比较测试:通过以同类残品的比较,考察改干软件的优缺点ALPHA测试:一般由可控制用户来测试,这时软件只是刚开发完BETE测试:这时软件已经通过内部测试大部分错误已经改正即将正式放行9.依据和测试人员是谁答:依据测试的人员单元测试|文档、白盒测试、接口、路径|软件的开发人员集成测试|文档需求、黑白盒、接口、功能路径|软件的开发人员系统测试|软件需求、黑盒|软件测试人员验收测试|软件需求、黑盒|软件测试人员和最终用户10.职业素质?答:1.责任心、2.学习能力、3.怀疑能力、4.沟通能力5.专注性、6.洞察力、7.团队精神、8.注重积累第二章1.测试计划包括什么?测试计划包括,测试计划的目标,测试内容,设定测试人员,测试进度2.测试是从什么阶段介入的,为什么?测试从需求阶段就开始介入,测试需要对所测软件有很深的了解,对需求有很深的认识,越早的进行测试就能越早的发现BUG并修改3.你了解的操作系统有哪些?WINDOWS,LINUX,DOS4.你了解的浏览器有哪些?火狐,谷歌,OPERA,IE5.需求测试都测些什么?测试需求的正确定,可行性,等,一般都是评审6.如果一个项目交给你做测试,但是没有完整的需求文档,你应该怎么办?应该首先要对软件进行了解,使用,从大众客户角度考虑补全需求第三章1.什么是测试用例?测试用例包括什么?是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求.用例编号、测试项描述、操作步骤、输入、预期结果、实际结果、测试结果、缺陷编号、回归测试结果、最终测试结果、测试人、测试时间、备注。2.什么是好的测试用例?要有可重复性必须清晰地定义一个或多个期望的结果以及测试通过和失败的标准。测试用例没有冗余3.测试用例的作用?指导测试的实施作为编写测试脚本的“设计规格说明书“评估测试结果的度量基准分析缺陷的标准4.黑盒测试的方法有哪些?等价类划分边值分析错误推测因果图5.白盒测试的方法有哪些?逻辑覆盖法基本路径法辅助模块设计6.谈谈黑盒测试和白盒测试的不同?黑盒测试是以软件需求为依据进行的而白盒测试是以软件设计软件结构和算法为依据进行的。7.测试用例评审的内容有哪些?测试或测试组件完全针对的是需求中列出的功能么?测试组件是否覆盖了所有需求?有冗余的测试么?每一个测试步骤都有清楚描述的语气结果么?8.什么是测试用例的优先级?优先级在根据某种合理的而非任意的准则减少测试用例目的是选择最适当的测试第四章第四章1.建立测试环境包含什么?安装应用程序。安装和开发测试工具。设置专用文件,包括将这些文件与测试所需的数据相对应。建立与应用程序通信的实用程序。配备适当的硬件以及必要的设施。2.软件测试错误的等级?致命错误、严重错误、一般错误、轻微错误、改进建议。3.软件测试的优先级?立即解决、高优先级、正常排队、低优先级、4.软件错误报告的内容?错误编程、软件名称和版本号、错误的严重程度、错误概要、报告人、发现错误时间、承办人、错误优先级、错误状态、注释。5.软件测试错误状态有哪些?开放、已分配、被拒接、忽略、已修复、关闭。6.什么是集成测试?集成测试分哪两种?计程车实施单位测试的逻辑扩展。自顶向下集成、自底向上成。7.什么是驱动模块,什么是桩模块?桩模块:集成测试前要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或传递被测模块的数据,这些专供测试用的“假”模块称为被测模块的桩模块。驱动模块在大多数场合称为主程序,它接收测试数据并将这些数据传递到被测试模块第五章1.什么是功能测试,功能测试的依据是什么?检查软件的功能是否正确其依据是需求文档2.什么是软件的健壮性?软件在面对错误时是否进行了正确的处理3.什么是内存泄漏测试?是一种典型的程序缺陷,它导致应用程序不断消耗系统内存,是程序运行出现响应变慢、某些功能无法实现,甚至整个系统瘫痪等问题。4.用户界面测试应该从那些方面进行?易用性规范性合理性美观与协调性菜单位置独特性快捷方式的组合排错性多窗口的应用于系统资源5.性能测试和压力测试的区别是什么?6我们一般在什么时候执行性能测试?软件中某个模块涉及到复杂的计算,特别是一些基于人工智能的分析涉及到大量数据的读写通信涉及到数据检索而被检索的数据具有很大的数据量具有多个并发用户软件在运行时,可用资源可能在某系情况下很紧张如在一些嵌入式系统软件中7.兼容性测试都要考虑哪些方面?操作系统的兼容性浏览器的兼容性其他的软件兼容硬件的兼容带宽限制网络环境的兼容性8.什么冒烟测试?检查版本的基本功能9。文档测试主要是测试什么?文字错误语法错误拼写错误所描述的操作步骤有遗漏所描述的功能或者操作步骤错误在软件的开发过程中往往会对软件功能进行修改但修改的时候可能没有对所有相关的文档进行更新这个时候就很容易导致这样的问题10.什么叫回归测试?是指对某些已经被测试过的内容进行重新测试1.按照测试技术划分,软件测试可分为以下类型:1.1白盒测试:也称为结构测试。是通过对程序内部结构的分析、检测来寻找问题。检查所有的结构和路径是否正确检查程序是否按照详细设计说明规定进行1.2黑盒测试:也称为功能测试。是通过软件的外部表现来发现其缺陷和错误。y=2x?y=x2y=2x?y=x2是在程序界面、页面处进行的测试检查程序是否按照需求规格说明书进行1.3灰盒测试:介于白盒测试与黑盒测试之间的测试。灰盒测试关注界面上输出、输入的正确性,同时也关注内部表现。但它对内部的关注不像白盒测试那样详细完整,一般来说,单元测试应用白盒测试方法,集成测试应用灰盒测试方法,系统测试和确认测试应用黑盒测试方法2.按照开发阶段划分按照开发阶段划分,软件测试可分为:单元测试、集成测试、系统测试、确认测试、验收测试。2.1单元测试:又称为模块测试,是针对软件设计的最小单位(程序模块)进行正确性检验的测试工作。单元测试一般采用白盒测试,多个模块可以平行地独立进行单元测试。检查单元是否符合详细设计说明书中的要求测试对象:类模块内部的逻辑错误,流程错误,变量类型错误等2.2集成测试:又称为组装测试。通常在单元测试的基础上,将所有的程序模块进行有序的、递增的测试。逐步集成为符合概要设计要求的程序部件或整个系统。集成测试关注接口测试(调用的方法名,方法的参数个数,参数类型是否正确等)集成测试策略:自顶向下自底向上顶:一个方法用于接受用户输入的数据和显示输出结果信息底:一个方法将用户的数据保存在数据库中和从数据库获得信息冒烟测试:对程序的主要功能进行测试。2.3系统测试:系统测试是为验证和确认系统是否达到其原始目标,而对集成的硬件和软件系统进行的测试。检查程序系统能否和硬件系统(包括硬件、外设、网络和系统软件、支持平台等)正确配置、连接,并满足用户需求。系统测试是在真实或模拟真实的情况下进行的黑盒类测试系统测试:功能测试(功能是否实现,是否正确的实现)性能测试(事务的响应时间用户的并发量等)数据库测试(响应时间容量链接)兼容测试(客户端浏览器的兼容IE火狐运行平台的兼容windowsLinux)安装卸载测试(简洁的安装,自定义安装,卸载后的重新安装)容量测试(系统接收,处理和保持大量数据的能力)安全测试(密码策略MD5SQL注入的过滤)恢复测试(自动:数据是否完整的恢复人工:恢复的时间是否可以接受)2.4确认测试:证实软件是否满足客户预期用途的需求。确认测试是检测与证实软件是否满足软件需求说明书中规定的需求。只是考虑软件本身功能测试,运行环境不一定在真实的环境中,很有可能在开发环境中2.5验收测试:按照项目任务书或合同、供需双方约定的验收依据文档进行的对整个系统的测试和评审,决定是否接受或拒收系统。α测试内测1.形式:可发者和用户对发现的错误进行记录2.关注:软件的界面和特性β测试公测1.在开发者无法控制的环境下进行的测试2.产品的发行人员进行管理3按照测试方法划分3.1静态测试:又称为静态分析技术,其基本特征是不执行被测试软件,而对需求分析说明书、软件设计说明书、源程序做结构检查、流程图分析等找出软件错误。静态测试一般采用人工进行分析;也可以用静态分析测试工具来进行。3.2动态测试:其基本特征是执行被测程序,通过执行结果,分析软件可能出现的错误。一般由人工设计程序测试用例,也可以由测试工具做检查与分析。4.按照软件特性划分根据软件质量模型的软件特性来划分,软件测试可以划分为:功能测试、性能测试、可靠性测试、易用性测试、可移植性测试、可维护性测试以及安全测试。4.1功能测试4.1.1GUI测试界面测试关注点:字体是否美观图标是否直观界面元素形状颜色是否协调界面元素布局是否合理tabledivframeset是否有帮助文档对于常用功能,“所见即所得”文字是否正确界面元素的状态支持键盘和鼠标操作窗口改变大小时,界面元素显示是否正常4.1.2帮助文档测试用户在使用系统时候,如果出现问题,首先求助的就是在线帮助。帮助文档测试可以和文档测试(或资料测试)一起进行。帮助文件的索引是否正确帮助文件中的内容是否正确(版本)在运行时帮助文档能否被正常的激活激活的帮助文档内容是否与当前的操作有关4.2性能测试系统或子系统执行某一个或多个功能的能力的度量。例如,响应时间、系统吞吐能力、事务处理数等。4.2.1并发性能测试并发性能测试的过程是一个负载测试和压力测试相结合的一个过程。通过模拟成百上千个用户,重复执行和运行测试,以确认性能瓶颈并优化和调整应用。4.2.2负载测试负载测试(LoadTesting)是确定在各种工作负载下系统的性能。负载增加时(操作软件的用户增加时),系统的使用情况,确保在超出最大预期工作量(负载)时仍能正常的运行4.2.3压力测试压力测试(StressTesting)是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。找出因资源不足或资源的争用导致的错误确定测试对象能够处理的最大事务数