第一章
1计算机系统分为计算机硬件和软件两大部分。
2计算机软件是计算机系统中与硬件相互依存的另一部分,它是程序、数据及其相关文档的完整集合。
3软件危机的表现,实际上是软件开发与维护中存在的具有共性的问题。
4软件危机产生的原因可以从两个方面加以认识:一是软件产品的固有特性,二是软件专业人员自身的缺陷。
5为了解决软件危机,既要有技术措施,又要有必要的组织管理措施。软件工程正是从技术和管理两方面研究如何更好地开发和维护计算机软件的一门学科。
6软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。
7软件定义可分为软件系统的可行性研究和需求分析两个阶段,其基本任务是确定软件系统的工程需求。
8 软件开发是按照需求规格说明的要求由抽象到具体,逐步生成软件的过程。
9软件缺陷是存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差。
10 软件故障是指软件运行过程中出现的一种不希望或不可接受的内部状态,此时若无适当措施(容错)加以及时处理,便产生软件失效。
11软件产生错误的原因:(1)软件复杂性(2)交流不够、交流上有误解或者根本 不进行交流(3)程序设计错误(4)需求变化。(5)时间压力(6)代码文档贫乏(7)软件开发工具自身的错误。
12软件测试就是为了发现错误而执行程序的过程。
第二章
1黑盒测试:已知产品的功能设计规格和用户手册,可以进行测试来证明每个功能是否实现、每个实现了的功能是否符合要求,以及产品的性能是否满足用户的要求。
2白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,以及所有内部成分是否已经过检查。
3白盒测试是一种被广泛使用的逻辑测试方法,也称为结构测试或逻辑驱动测试。
4白盒测试方法又可分为静态测试和动态测试。
5黑盒测试可分为功能测试和非功能测试两大类。
6功能测试:1.等价类划分法2.边界值分析法3.错误推测法4.因果图法5.场景法6.判定表驱动法7.正交试验法8.功能图法。
7非功能测试:1.强度测试2.性能测试3.安全测试4.安装与卸装测试5.配置测试6.兼容性测试7.故障修复测试8.使用性能测试9.帮助菜单及用户说明测试。
第三章
1测试用例的概念: 测试用例是测试时执行的最小实体,是为特定目的而设计的一组测试输入、执行条件和预期的结果。
2测试用例的作用: 1有效性2避免测试的盲目性3可维护性4可复用性。
3测试用例的分类:1白盒测试用例2软件各项功能的测试用例3用户界面测试用例
4软件的各项非功能测试用例5确认软件缺陷修正的测试用例。
第四章
1软件测试过程与软件工程的开发过程应该是相对应的。
2单元测试是对软件设计的最小单元—模块进行正确性检验的测试工作,主要测试模块在语法、格式和逻辑上的错误。
3 一般来说,“单元”是软件里最小的、可以单独执行编码的单位。
4单元测试的重要性:1时间方面2测试效果方面3测试成本方面4产品质量方面。
5软件开发是按照需求规格说明的要求由抽象到具体,逐步生成软件的过程。
6单元测试原则:1单元测试越早进行越好。2单元测试应该依据《软件详细设计规格说明》进行。3对于修改过的代码应该重做单元测试,以保证对已发现错误的修改没有引入新的错误。4当测试用例的测试结果与设计规格说明上的预期结果不一致时,测试人员应如实记录实际的测试结果。5单元测试应注意选择好被测软件单元的大小6一个完整的单元测试说明应该包含正面测试(Positive Testing)和负面测试(Negative Testing)。7 注意使用单元测试工具。
7单元测试的主要任务:1模块接口测试2模块局部数据结构测试3模块中所有独立执行路径测试4各种错误处理测试5模块边界条件测试
8单元测试主要技术:1静态测试2动态执行跟踪3状态转换测试
9单元测试一般由开发设计人员自己完成的。
10软件集成测试的具体内容:1功能性测试2可靠性测试3易用性测试4性能测试5维护性测试。
11集成测试人员: 集成测试不是在真实环境下进行的,而是在开发环境或一个独立的测试环境下进行的,所以所需人员一般由测试人员和从开发组中选出的开发人员组成。
12系统测试的主要测试技术:1功能测试 2性能测试3系统可靠性、稳定性测试
4系统兼容性测试 5恢复测试6安全测试7强度测试8面向用户支持方面的测试 9其他限制条件的测试。
13系统测试的测试数据:系统测试可用数据的数量也必须和真实数据的大小和复杂性
相当。
14验收测试一般在测试组的协助下,由用户代表执行。
15回归测试是指软件系统被修改,或扩充(如系统功能增强或升级)后重新进行的测试。
16回归测试的范围:1局限在修改范围内的测试2在受影响功能范围内回归3根据一定的覆盖率指标选择回归测试。
第五章
1软件缺陷简单说就是存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差,会导致软件产生质量问题。
2只要符合下面5个规则中的一条,就叫做软件缺陷:1软件未达到软件规格说明书中规定的功能。2软件超出软件规格说明书中指明的范围。3软件未达到软件规格说明书中指出的应达到的目标。4软件运行出现错误。5软件测试人员认为软件难于理解,不易使用,运行速度慢,或者最终用户认为软件使用效果不好。
3软件缺陷的有效描述规则:1单一准确:每个报告只针对一个软件缺陷。
2可以再现:提供出现这个缺陷的精确步骤,使开发人员能看懂,可以再现并修复缺陷。
3完整统一:提供完整、前后统一的软件缺陷的修复步骤和信息,如图片信息、log
文件等。
4短小简练:通过使用关键词,使软件缺陷的标题描述短小简练,又能准确解释产生缺陷的现象。
5特定条件:软件缺陷描述不要忽视那些看似细节但又必要的特定条件(如特定的操作系统、浏览器等),这些特定条件能提供帮助开发人员找到缺陷原因的线索。
6补充完善:从发现软件缺陷开始,测试人员的责任就是保证它被正确地报告,并得到应有的重视,进而继续监视其修复的全过程。
7不作评价:软件缺陷报告是针对软件产品的,因此软件缺陷描述不要带有个人观点,不要对开发人员进行评价。
4软件缺陷的种类:
(1)功能不正常
(2)软件在使用上不方便
(3)软件的结构未做良好规划
(4)所提供的功能不充分
(5)与软件操作者的互动不良
(6)使用性能不佳
(7)未做好错误处理
(8)边界错误
(9)计算错误
(10)使用一段时间所产生的错误
(11)控制流程的错误
(12)在大数据量压力之下所产生的错误
(13)在不同硬件环境下产生的错误
(14)版本控制不良所产生的错误
(15)软件文档的错误
5软件缺陷的属性:
① 缺陷标识
② 缺陷描述与缺陷注释
③ 缺陷类型
④ 缺陷严重程度
⑤ 缺陷产生可能性
⑥ 缺陷的优先级
⑦ 缺陷状态
⑧ 软件缺陷的起源
⑨ 软件缺陷的来源
⑩ 缺陷根源
6软件缺陷管理系统的作用:1保持高效率的测试过程2提高软件缺陷报告的质量3实施实时管理,安全控制4有利于项目组成员间协同工作。
第七章
1 软件测试自动化就是通过测试工具或其他手段,按照测试人员的预定计划对软件产品进行自动测试,目的是减轻手工测试的劳动量,从而达到提高软件质量的目的。
2 自动化测试的作用和优势:1产生可靠系统2改进测试的工作质量3提高测试工作效率。
3软件自动化测试的引入条件:1管理层要充分意识到软件测试自动化的重要性2对软件测试自动化有正确的认识3有一个很好的计划和稳定的应用行为4实施测试自动化必须进行多方面的培训5一个专注的、有着丰富技能的测试团队,并且被分配了足够的时间和资源。
4几种常用软件测试工具:QACenter2 WinRunner3 LoadRunner4全球测试管理系统5 GUI接口自动化测试工具6 BoundsChecker。
5 QACenter:1功能测试工具 QARun 2性能测试工具QALoad 3测试组织及管理工具QADirector4 应用可用性管理工具EcoTools 5测试数据生成工具 TESTBytes。
6WinRunner:WinRunner是 Mercury Interactive公司提供的一个企业级的功能检测工具。WinRunner的基本特性和功能如下。
(1)应用WinRunner可以轻松创建测试
(2)插入检查点
(3)检验数据
(4)增强测试
(5)运行测试和报告测试结果
(6)维护测试
因篇幅问题不能全部显示,请点此查看更多更全内容