《ASPNET软件测试方法与技术实践指南第2版第123章》由会员分享,可在线阅读,更多相关《ASPNET软件测试方法与技术实践指南第2版第123章(22页珍藏版)》请在金锄头文库上搜索。
1、第1章 如何成为一名合格的软件测试工程师,基础知识 - 计算机专业知识与技能方面 熟悉计算机相关知识 熟练掌握几种常见的开发语言 掌握一些数据库知识 熟悉除了Windows之外的其它的操作系统 熟悉网络基本知识 对软件工程,软件生命周期,测试理论和测试方式有较深的理解 熟悉软件测试技术,能独立设计和执行测试用例,编写测试报告 掌握一些主流和自动化测试工具 掌握服务器相关知识 了解质量管理知识,说明:红色标记的部分尤其重要,第1章 如何成为一名合格的软件测试工程师,基础知识 - 个人素养方面 首先要有兴趣 有较强的逻辑思维能力和分析判断能力 较强的学习能力 较强的沟通能力 良好的团队合作精神 强
2、烈的责任感,态度严谨,要有耐心,要有钻研精神 能承受压力 具有一定的英文阅读能力和语言组织能力 从用户角度考虑问题的能力 项目管理能力,第1章 如何成为一名合格的软件测试工程师,工作范畴 - 测试工作范畴,软件测试工作范畴,可以分为两个层次: 1软件测试工作的组织与管理 这项工作一般由项目组长来完成,首先了解产品的需求,认真阅读需求文档,找出其中的问题,然后提交所发现的问题,并跟踪问题的解决。制定测试计划,好的测试策略可以更高效的完成整个项目,把可能遇到的困难及早的做好准备和考虑好应对策略。还有确定所采用的测试方法与规范,控制测试速度,管理测试资源等。 2软件测试工作的实施 编制符合标准的测试
3、文档,研制测试环境,与开发组织协作实现各阶段的测试活动。 一般由项目组长和组员共同完成,项目组长要合理安排人员来完成,并做好跟踪和管理,第1章 如何成为一名合格的软件测试工程师,工作范畴 - 测试工作的内容 测试组织和管理 测试计划 设计测试用例 测试实施 测试结果分析 测试评审与报告 测试流程控制,说明: 测试项目经理及以上级别关注:测试组织与管理员 测试项目组长:需要会写与执行测试计划 每位测试工程师都要会设计测试用例,实施测试,验证产品功能,汇报产品缺陷(Bug) 测试结果分析一般是先由测试项目组长进行 测试评审与报告,由整个项目的QA负责人提供 测试流程控制一般由项目经理与模块负责人安
4、排执行,第1章 如何成为一名合格的软件测试工程师,必备的核心知识 - 软件测试的基本要素 软件测试的定义和目的,软件测试是根据软件开发阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入数据及预期的输出结果),并利用这些测试用例去运行程序,以发现错误的过程。,测试不仅是软件开发中的重要环节之一, 也是软件质量保证的关键环节,直接影响着软件的质量评估。,根据GJMyers观点,对软件测试的目的可以简单概括为: (1)测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错。 (2)一个好的测试能够在第一时间发现程序中存在的错误。 (3)一个成功的测试是发现了至今尚未发现的错
5、误的测试。 (4)一个好的测试能在需求、设计、功能说明等文档中发现设计缺陷,设计测试重点。,第1章 如何成为一名合格的软件测试工程师,必备的核心知识 - 软件测试的基本要素 软件测试的基本原则,站在用户的角度,对产品进行全面测试,尽早、尽可能多地发现缺陷,并负责跟踪和分析产品中的问题,对不足之处提出质疑和改进意见。零缺陷是一种理想,足够好是测试的原则。 基于不同的立场,存在着两种完全不同的测试目的。 (1)从用户的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,考虑是否接受该产品。 (2)从软件开发者的角度出发,希望测试表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要
6、求,确立人们对软件质量的信心。,第1章 如何成为一名合格的软件测试工程师,必备的核心知识 - 软件测试的基本要素 软件测试的分类,按测试阶段分类: 单元测试 ,集成测试,系统测试,验收测试,回归测试, Alpha 测试, Beta 测试 按测试目的分类: 正确性测试 性能测试 可靠性测试 安全性测试 按测试过程分类 需求阶段的测试 设计阶段的测试 程序阶段的测试 测试结果的评估 安装测试 验收测试 测试维护,第1章 如何成为一名合格的软件测试工程师,必备的核心知识 - 软件测试的方法和策略 软件测试的误区,(1)软件测试技术要求不高,至少比编程容易多了 (2)有时间就多测试一些,来不及就少测试
7、一些 (3)软件测试是测试人员的事,与开发人员无关 (4)根据软件开发瀑布模型,软件测试是开发后期的一个阶段,软件需求 不需过问,完全根据产品规格说明书(spec)来定。 (5)只需要关心自己测试的模块,其他的不必知道。测试结束,就可以完全不必理了。 (6)测试完全顺从开发,开发说什么就是什么。 (7)自动化测试可以代替手工测试。(只能部分的替代,做不到完全替代) (8)软件测试可以完全没有bug。(任何软件产品不可能完全没有BUG),第1章 如何成为一名合格的软件测试工程师,必备的核心知识 - 软件测试规范和过程 软件测试规范 功能测试 软件测试的度量与评估 软件发布过程的测试 测试的跟踪和
8、管理 测试结果分析,第1章 如何成为一名合格的软件测试工程师,必备的核心知识 - 软件测试的方法和策略 测试人员的基本责任,尽早地发现问题。 发现软件程序,系统和产品中出现的问题。 督促开发人员尽快地解决程序中的缺陷。 帮助项目管理人员制定合理的测试计划。 对问题进行分析,分类总结和跟踪,以便让项目的管理者和相关的负责人能够对产品当前的质量情况一目了然。 帮助改善开发流程,提高产品开发效率。 提高程序编写的规范性,易读性,可维护性等。 设计自动化测试脚本,提高测试的效率。 尽早、尽可能多的发现文档中存在的问题,并督促开发、产品经理、项目经理等解决问题。 维护测试环境。 测试知识、产品知识的共享
9、、传递。,第1章 如何成为一名合格的软件测试工程师,必备的核心知识 - 软件测试用例的设计 测试用例设计考虑因素 测试用例设计的基本原则 测试用例组织和测试过程 白盒测试用例设计方法,说明: 软件测试用例设计是每一位测试工程师必须会的基本功。 如何设计出优秀的测试用例,对于提高产品质量,测试覆盖率等有很大帮助。 每一位同学都要多动手,在实际的项目中体会设计原则。,如何快速实践: 1.学习时实际项目的选择,可以就选择baidu博客,sina博客,QQ空间之类进行设计 2.本书提供一个系统,供教学与实习,也有测试案例样例,学生可以仿照继续编写。 3.等本课程学习完成,如果您对测试技术感兴趣,可以到
10、言若金叶软件研究中心 申请实际的测试项目,既提高技能又可利用闲暇时间获取收益。,第1章 如何成为一名合格的软件测试工程师,软件测试用例的设计 1测试用例设计考虑因素 (1)测试用例必须具有代表性,典型性。 (2)测试用例设计时,要浓缩系统设计。 (3)测试用例必须具有易读性、可维护性。 (4)测试用例设计要考虑覆盖率。 2测试用例设计的基本原则 (1)尽量避免含糊的测试用例。 (2)尽量将具有相类似功能的测试用例抽象并归类。 (3)尽量避免冗长和复杂的测试用例。 (4) 测试用例设计的方法,第1章 如何成为一名合格的软件测试工程师,必备的核心知识 - 软件缺陷 软件缺陷的主要类型 软件缺陷的
11、有效描述规则 软件缺陷生命周期,说明: 准确的汇报软件缺陷(Bug)是每一位测试工程师必须会的基本功。 如何报出高质量Bug需要多实践,多动手与多动脑,经常的总结与回顾,提高技能。,第1章 如何成为一名合格的软件测试工程师,必备的核心知识 - 软件缺陷 软件缺陷的主要类型,(1)功能,特性没有实现或部分实现。 (2)设计不合理,存在缺陷。 (3)实际结果和预期结果不一样。 (4)运行出错,包括运行中断,系统崩溃,界面混乱。 (5)数据结果不正确,精度不够。 (6)用户不能接受的其他问题,如存取时间过长,界面不美观,使用不方便。 (7)安全性低,达不到客户需求。 (8)兼容性差。包括版本的升级、
12、降级以及新旧版本之间的交互安装、使用说明文档有错误,不清晰、对客户有误导。 (9)可用性差。,第1章 如何成为一名合格的软件测试工程师,必备的核心知识 - 软件缺陷 软件缺陷的有效描述规则,软件缺陷的有效描述规则:单一准确 (1)完整统一(2)短小简练(3)特定条件(4)补充完善(5)不做评价,软件缺陷生命周期 软件缺陷的生命周期指的是一个软件缺陷被发现、报告到这个缺陷被修复、验证直至最后关闭的完整过程。 简单的软件缺陷生命周期: 1发现打开:测试人员找到软件缺陷并将软件缺陷提交给开发人员; 2打开修复:开发人员再现、修复缺陷,然后提交测试人员去验证; 3修复关闭:测试人员验证修复过的软件,关
13、闭已不存在的缺陷。,第1章 如何成为一名合格的软件测试工程师,必备的核心知识 - 软件测试的自动化 1软件测试自动化的原理和方法 软件测试自动化实现的基础是可以通过设计的特殊程序模拟测试人员对计算机的操作过程、操作行为,或者类似于编译系统那样对计算机程序进行检查。软件自动化实现的原理和方法主要有:直接对代码进行静态和动态分析,测试过程的捕获和回放,测试过程的模拟,测试脚本技术,虚拟用户技术和测试管理技术。 2软件测试工具的选择和分类 结合测试自身的特点选择测试工具。例如API (XMLAPI,URLAPI),可以选用Jmeter来测试。,第2章 软件测试工程师如何成长与发展,存储技能敲开著名企
14、业的大门 自学相关知识 实习或在工作中积累经验 参加培训,第2章 软件测试工程师如何成长与发展,软件测试工程师的成长历程 如何成为一个合格的初级软件测试工程师 (1)深入了解所在领域的业务知识,因为最终产品是给用户使用的,所以只有做出用户需要的东西才是最重要的,所以一定要认真的阅读需求文档,以此作为测试的依据。 (2)测试用例是测试执行的一个向导,要想快速高效率的执行用例,必须在熟悉业务的同时,熟悉用例,熟悉每条用例覆盖的需求,这样执行起来才能事半功倍。 (3)明确自己的职责是测试而不是开发。珍惜时间,避免不必要的浪费。当然适当的协助开发重现缺陷,找到缺陷的原因是必要的,但要把握一个度。 (4
15、)手工测试的同时,学习一门技术。手工测试重复的工作比较多,需要从自动化测试上提高自己,熟练掌握一种或几种测试工具。 (5)要向有经验的资深软件测试工程师学习、请教,并沟通。可以阅读他们报的缺陷,学习他们的测试方法,因为每个人都有自己独特的想法以及看问题的角度也不一样,这样能帮助自己更快的成长。,第2章 软件测试工程师如何成长与发展,软件测试工程师的成长历程 从项目测试人员到项目组长的成长 当具有一定的测试经验,熟悉整个测试过程后,应该把自己提高到一个项目负责人的高度,全面的了解,评估项目,安排测试成员进行测试,并适时的提供指导,把握项目的进度。协调好软件测试工程师之间的工作关系。项目组长的能力
16、要相对全面些,同时要有较强的沟通协调能力。 (1)对项目的不同内容进行优先评级,合理分配人力资源。 (2)对整个项目进行评估并制定测试计划,测试策略,日程安排,并编写测试报告,对整个项目质量负责。 (3)项目进度跟踪与日常管理,第2章 软件测试工程师如何成长与发展,软件测试工程师的成长历程 从项目组长到项目经理的成长 从测试组长成长为一名项目经理不是一蹴而就的,而是在积累一定项目管理经验的基础上。如何成为一名优秀的项目经理呢?首先要知道自己的职责,发挥应有的作用,主要是做好以下几个方面。 (1)安排测试工作/协调测试资源/跟踪项目进度/协助考核项目经理。 (2)参与各需求评审/计划评审/用例评审/功能评审/项目总结。 (3)在产品发布前验收各测试负责人的工作,考核测试人员。 (4)发布产品发布通知/对客服部和培训部的人员进行培训/考核技术服务人员。 (5)管理机构资产库(主要是更新发布和备份)。 (6)监督各项目的进度,定期跟踪。,第3章 ASP.NET方向软件测试工程师实践准备,