软件测试知识总结.doc

上传人:ni****g 文档编号:543569881 上传时间:2023-11-16 格式:DOC 页数:13 大小:695.01KB
返回 下载 相关 举报
软件测试知识总结.doc_第1页
第1页 / 共13页
软件测试知识总结.doc_第2页
第2页 / 共13页
软件测试知识总结.doc_第3页
第3页 / 共13页
软件测试知识总结.doc_第4页
第4页 / 共13页
软件测试知识总结.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《软件测试知识总结.doc》由会员分享,可在线阅读,更多相关《软件测试知识总结.doc(13页珍藏版)》请在金锄头文库上搜索。

1、第一章 软件工程要点1、软件:文档+程序+数据(1) 当运行时,能够提供所要求功能和性能的指令或计算机程序集合。(2) 该程序能够具有满意的处理信息的数据结构(3) 描述程序功能需求以及程序如何操作和使用所要求的文档。2、软件危机:指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危机影响:(1)用户满意度(2)成本与进度(3)质量(4)可维护性(5)文档支持(6)与时俱进3、软件工程:是一门研究如何用系统化、规范化、数量化等工程原则和方法去进行软件的开发和维护的学科。4、C/S结构与B/S结构4.1、C/S结构主要有两层C/S结构和三层C/S结构(1)两层结构的C/S前端是客户机(

2、通常是PC);后端是服务器,运行数据库管理系统,提供数据库的查询和管理。(2)三层结构的C/S模式是利用中间件将应用分为表示层、业务逻辑层和数据存储层三个不同的处理层次,即客户机、服务器和中间件。4.2、B/S(Browser/Server,浏览器/服务器)模式又称B/S结构第二章 软件测试基础1、软件测试定义:定义1:1983(Bill)、评价程序和系统的功能,并确定是否达到预期效果。定义2:1979(myers),测试是为发现错误而执行程序或系统的过程。现代软件测试:在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复查,是软件质量保证的关键步骤。软件测试培训机构定义:使用人工或自

3、动的手段来运行或测定某个软件系统的过程,其目的在于验证它是否满足规定的需求或弄清预期结果与实际结果之间的差别。2、软件测试目的(立场不同)开发者:确认软件已正确地实现了用户的要求,证明软件中不存在错误,建立对软件质量的信心用户:发现软件中隐藏的错误和缺陷,以考虑是否可接受该产品3、软件测试原则 (1)测试显示缺陷的存在 #1测试可以显示缺陷的存在,但不能证明系统不存在缺陷。测试可以减少软件中存在未被发现缺陷的可能性,但即使测试没有发现任何缺陷,也不能证明软件或系统是完全正确的。(2)穷尽测试是不可能的 #2除了小型项目,进行完全(各种输入和前提条件的组合)的测试是不可能的。通过运用风险分析和不

4、同系统功能的测试优先级,来确定测试的关注点,从而替代穷尽测试。(3) 测试尽早介入 #3在软件或系统开发生命周期中,测试活动应该尽可能早的介入,并且应该将关注点放在已经定义的测试目标上。(4) 缺陷集群性 #4(80-20原则)版本发布前进行的测试所发现的大部分缺陷和软件运行失效是由于少数软件模块引起的。(5)杀虫剂悖论 #5采用同样的测试用例多次重复进行测试,最后将不再能够发现新的缺陷。为了克服这种“杀虫剂悖论”,测试用例需要进行定期评审和修改,同时需要不断增加新的不同的测试用例来测试软件或系统的不同部分,从而发现潜在的更多的缺陷。(6) 测试活动依赖于测试背景 #6针对不同的测试背景,进行

5、的测试活动也是不同的。比如,对安全关键的软件进行测试,与对一般的电子商务软件的测试是不一样的。(7)不存在缺陷(就是有用系统)的谬论 #7假如系统无法使用,或者系统不能完成客户的需求和期望,发现和修改缺陷是没有任何意义的。4、开发人员的测试:是调试(Debug)还是测试(Test)?调试是“建设性”的? 测试是“破坏”性的?测试(Testing): 诱发错误重现错误定位错误(功能需求模块)记录错误调试(Debugging): 在源程序内定为错误 分析错误的原因修改错误在程序运行时检验程序功能 5、软件测试工作流程l 计划(1)识别测试任务(2)定义测试目标(3)定义为达到测试目标和任务所必须的

6、测试活动)l 分析(1)评审测试依据(比如需求、系统架构、设计和接口说明等)(2)评估测试依据和测试对象的可测性(3)通过对测试项、规格说明、测试对象行为和结构的分析,识别测试条件并确定其优先级l 设计(1)设计测试用例并确定优先级(2)确定测试条件和测试用例所需的必要的测试数据(4) 规划测试环境的搭建和确定测试需要的基础设施和工具实现l 实现(1)测试用例的开发、实现并确定它们的优先级(2)开发测试规程并确定优先级,创建测试数据,同时也可以准备测试用具和设计自动化测试脚本(3)根据测试规程创建测试套件,以提高测试执行的效率(4)确认已经正确搭建了测试环境l 执行(1) 根据计划的执行顺序,

7、通过手工或使用测试执行工具来执行测试规程(2)记录测试执行的结果,以及被测软件、测试工具和测试件的标识和版本(3)将实际结果和预期结果进行比较(4) 对实际结果和预期结果之间的差异,作为事件上报(5) 缺陷修正后,重新进行测试活动l 评估出口准则(1) 按照测试计划中定义的测试出口准则检查测试日志(2) 评估是否需要进行更多的测试,或是否需要更改测试的出口准则l 报告:依据评估结果,向利益相关者(stakeholders)汇报测试情况 6、软件测试与软件开发各阶段的关系7、软件测试工具对测试工作的支持7.1软件测试工具的好处:(1)提高工作效率,减少重复性工作量,保证测试的准确性(2)有些测试

8、必须使用工具( 如性能测试等) (3)更好地保证测试工作的规范性和一致性(4)测试工具体现了先进的测试思想、方法和技术,能够快速地提升软件测试的专业化水平(5)系统化地记录测试日志和度量目标8、软件测试人员应具备的素质综合能力:(1)较强的沟通能力、团队合作精神(2)测试中要做到“五心”:专心、细心、耐心、责任心和自信心(3)具有怀疑精神和洞察力(4)具有探索、创新和挑战精神,努力追求完美(5)积极、主动的学习能力9、软件测试心理学9.1开发人员的思维1、开发人员的思维是构造思维(开发人员在设法通过程序实现用户需求时,更多的是思考如何来实现功能而并非破坏该功能。)2、同时具备构造思维和破坏思维

9、是一件不容易的事情3、思维的局限性9.2测试人员的思维1、技术思维能力(对技术的建模能力和理解原因与后果的能力。)2、创造思维能力(提出新想法和预见可能性的能力。)3、批判思维能力(评价想法并进行推理的能力。)4、实践思维能力(将想法变成现实的能力)测试人员的思维是一种破坏性的思维(逆向思维)9.3开发人员与测试人员之间的关系(1)以合作而非斗争的方式开展项目,共同目标是追求高质量的产品(2)以中性的语调和事实为依据的方式来沟通,而不要指责和批评他人(3)尽量理解其他成员的感受,以及他们为什么会有这种反应(4)确信其他成员已经理解你的描述第三章 基于生命周期的软件测试1生命周期各个阶段的测试内

10、容1.1需求阶段测试1.11需求阶段测试的目标:保证需求分析的正确性和充分性1.12测试活动(1) 彻底分析需求的充分性,生成基础测试用例(2) 澄清和确定哪些需求是可测试的,舍去含糊的、不可测试的需求,建立产品需求和确认需求1.2设计阶段测试1.21设计阶段测试任务(1)分析测试要素 (2)给测试要素打分 (3)对设计进行评审(3) 检查修改的部分1.22设计阶段的测试活动(1)在概要设计阶段,测试人员应阐述测试方法和测试评估准则,编写测试计划,成立测试小组,安排具有里程碑的测试日程(2)在详细设计阶段,测试人员要开发或获取确认支持工具,生成功能测试数据和测试用例1.3编码阶段测试(1)在编

11、程阶段完成测试用例开发,对程序进行实际的测试:(2)系统是否可维护(3)解决的首要问题是编码是否和设计一致(4)系统的规格说明是否正确地实现(5)编码是否按照既有的标准进行(6)是否有充分的测试计划评价可执行的程序(7)程序是否提供了足够的文档资料(8)程序内部是否有足够的注释等测试阶段安装阶段测试验收阶段测试维护阶段2、V模型 与W模型 V模型特点定义:基本的开发过程和测试行为标明:测试过程中存在不同类型、不同级别的测试描述:不同测试阶段和开发过程期间各阶段的对应关系W模型特点(1) 增加了软件各开发阶段中应同步进行的 验证 (verification)和 确认(validation) 活动

12、。(2) 基于“尽早地和不断地进行软件测试”的原则V模型和W模型的局限性(1)串行活动,无法更好适应变更:把软件的开发视为需求、设计、编码等一系列的串行活动,无法解决需求变更等变更调整。(2)线性的前后关系,无法有效支持迭代:开发和测试保持线性的前后关系,上一阶段完成才能开始下一阶段,无法有效,快速支持产品迭代。(3)测试完整性不足:顺序模型中没有很好体现测试流程的完整性第四章 软件测试分类与分级1、软件测试分类2、软件配置项的概念软件配置缩写为CSCI(Computer Software Configuration Item),是为独立的配置管理而设计的且能满足最终用户要求的一组软件,简称软

13、件配置项2.1、基于软件配置项的分类功能测试、性能测试、外部接口和人机交互界面测试、强度测试、余量测试、可靠性测试、安全性测试、恢复性测试、边界测试、功能多余物测试、安装性测试、本地化测试、应用基准测试测试3、软件测试分级(详细请看第八章动态测试)组件/单元测试、集成测试、系统测试、验收测试4、软件生命周期的测试分级(续)4.1验收测试:验收测试通常由使用系统的用户来进行测试主要测试类型:(1)根据合同的验收测试(2)用户验收测试(3)运行(验收)测试(4)现场测试4.2维护测试:指软件被市场接受后,在运行一段时间后,需要做某些修正、改变或扩展的情况下进行的维护测试5、软件测试中的错误分级对软

14、件错误进行级别定义或分级,目的就是科学地指导软件测试工作,提高软件测试的目的性,确保软件测试的质量第五章 软件缺陷管理1、软件缺陷的定义1.1一般符合下列5个规则之一,就是软件缺陷 (1)软件未实现产品说明书要求的功能 (2)软件出现了产品说明书指明不应该出现的错误 (3)软件实现了产品说明书未提到的功能 (4)软件未实现产品说明书虽未明确提及但应该实现的目标(5) 软件难以理解、不易使用、运行缓慢或者从测试员的角度看最终用户会认为不好1.2 软件缺陷分类检测缺陷和残留缺陷(错误:软件错误、软件失效、软件故障)1.3软件缺陷产生的原因调查研究表明:大多数软件缺陷并不是由于编码造成的,导致大多数软件缺陷产生的最大的原因是需求分析阶段,其次是在软件设计。2. 软件缺陷描述2.1可追踪信息缺陷ID2.1缺陷基本信息3、缺陷管理基本流程或:Reject 评审委员会评审通过4、软件缺陷报告在软件测试过程中,每发现一个软件错误都要记录该错误的特征和复现步骤等信息,以便分析、处理和管理测试发现的软件错误报告缺陷的基本原则尽快报告缺陷、有效描述缺陷、报告缺陷时不做任何评价、确保缺陷可以重现5、软件缺陷度量、数据分析与统计5.1 软件缺陷度量的方法缺陷密度、缺陷率、整体缺

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 研究报告 > 教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号