软件测试技术基础教程——理论、方法、面试-PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 例如,一个地图软件,包含可执行程序、地图使用说明书、驱动数 据包(不同地区的不同数据包)。图2-1是读者常用的QQ聊天软件 应用界面,使用时可下载其安装程序,并可在线获得QQ具体使用 方法。
图2-1 QQ程序应用界面
• 在国家软件标准中,软件的定义如下。 • 与计算机系统操作有关的计算机程序、规程、规则,以及可能有的 文件、文档及数据。 • 其他定义如下。
2.2.2 可行性研究
产品项目可行性研究是以企业研发能力为前提,以投资收益为 目的,从安全、法律、技术、成本、管理、风险控制等方面对产品或 项目进行全面分析研究的方法,预测其投产后的经济效益,在既定范 围内进行方案论证与选择,以便最合理地利用资源,达到预定的社会 效益和经济效益。 从软件生产角度来看,可行性研究的重点是解决前期市场调研的 产品或项目是否可行,能否在一定的成本压力下,持续地为公司或企 业带来适当的利益,无论是社会效益还是经济效益。通常情况,软件 产品成败受4个方面的约束:time(时间)、scope(范围)、cost (成本)、risk(风险)。 在可行性研究阶段,如何找出这4个方面的平衡点,是待解决的 首要问题。
阐述软件基本概念,软件生命周期理论、软件研发团队及测试 团队组织结构,通过剖析企业中测试团队的职能、技能构成,阐述测 试工程师在测试活动实施过程中的多样性。
本章小节
• 2.1 • 2.2 • 2.3 软件基本概念 软件生命周期 软件研发团队
• 2.4
• 2.5
软件测试团队
练习题
2.1 软件基本概念
软件测试技术基础教程
--理论、方法、面试
教程内容
第一章:IT行业及软件测试
第二章:软件生命周期概述
第三章:研发模型与软件测试 第四章:软件测试模型及流程 第五章:测试需求分析与用例设计
第六章:阶段评审与同行评审
第七章:缺陷定义与流程管理 第八章:Web系统与测试技术
第二章 软件生命周期概述
本章重点:
• 软件(software)是指一系列按照某种特定规则组织在一起,实现用户 需求的计算机数据和指令的集合体。从狭义理解即运行在计算机、手机、 手持设备等电子设备上的应用程序,都称为软件。从广义理解,软件不 仅仅包含实现用户需求的源代码(计算机数据、指令),还包含与之相 匹配的数据文档、支撑源代码运行的配置数据。三者构成一个完整的软 件实体。
市场需求调研
项目调研: 用户主动提出需求,由软件公司负责设计开发,一般称为项目, 从用户角度而言,需求由用户主动提出来,属于主动模式。 研发风险相对小很多。当特定客户因自身需求需要研发某种软件 系统时,由软件公司进行设计开发。在这种情况下,对软件公司而言, 客户想开发什么,就开发什么,需求往往是明确的,并且项目资金也 比较充足,项目失败的风险较小。业务系统基本都以项目运作方式, 如银行的柜台交易系统、网上银行系统等。
• (1)运行时,能够提供所要求功能和性能的指令或计算机程序集 合。
• (2)程序能够满意地处理信息的数据结构。
• (3)描述程序功能需求以及程序如何操作和使用所要求的文档。
• 简单而言,软件即是源代码、文档、配置数据的集合体。 • 对于软件测试工作而言,既然测试对象是软件,那么实现用户需求的源 代码、文档、配置数据(驱动接口数据)都作为测试对象,不能认为测 试对象仅是源代码。 • 软件是个逻辑概念,不能以实体展示,仅能通过运行活动展示其所具有 的功能及性能表现,软件不像硬件产生损耗,软件亦不存在消亡之说, 软件往往最后的终点是升级改造。
பைடு நூலகம்
2.2
软件生命周期
软件生产行业在几十年的研发活动中,积累了大量的经验,总结 出软件的生命周期流程,指导软件生产企业遵循规范的生产流程设计 开发软件系统。一般而言,软件从设计、研发到销售使用,主要经历 图2-2所示的几个周期。
市场需求调研 可行性研究 产品项目立项
发布运行维护
设计开发测试
需求调研开发
2.2.5 设计、开发、测试
如果公司有专门的系统架构师,则由系统架构师从系统可靠性、 扩展性、安全性、可维护性等角度进行系统概要设计。系统概要设计 活动结束后输出系统概要设计说明书(high level design,HLD), 评审活动通过后形成概要设计基线,此时可以依据需求规格说明书及 概要设计文档进行系统的详细设计、数据库设计等相关事宜。 • 详细设计说明书,一般由项目组开发人员进行设计,详细设计 (low level design,LLD)有些公司又称为软件设计说明书。 • 对于比较复杂的软件系统,通常情况下都需要进行详细设计,重点 在于阐述系统中各个模块之间的详细关联以及每个模块子程序设计 思想。开发人员通过详细设计方便清晰地理解开发对象的设计思路 及编程思路,从而降低编码错误风险。
2.2.1
市场需求调研
产品调研: 软件公司主动挖掘市场需求,从而开发出解决大众需求的软 件系统,此需求来源所研发的软件一般称为产品,从用户角度而 言,需求由软件公司提出,用户被动接收,属于被动模式。 风险较高,用户群不确定,需求通常不够明确,产品开发过 程中可能面临着需求频繁变更风险及后期销售不力的情况。例如 QQ、微信、暴风影音、即刻搜索。
2.2.3 产品项目立项
经过市场需求调研、可行性研究评审确认可行后,需求调研人员 (市场人员、需求分析人员或客户经理)牵头,进行产品或项目立项 活动,构建产品或项目研发小组,制定产品运作计划,如需求开发、 系统设计开发、系统测试、软件发布、运行维护等一系列工作的步骤 及时间点。 产品立项阶段软件研发团队成员包括项目经理、开发经理、研发 工程师、测试经理,测试工程师一般后期加入,如到需求评审或系统 测试设计时。
2.2.4 需求调研开发
主动模式,软件公司派出需求调研小组与用户直接沟通,获得正 确可靠的需求。小组成员一般是客户代表、需求开发者或开发人员; 被动模式由软件公司市场调研人员根据市场产品需求信息分析判 断,无明确的需求提出者,得到较为粗泛的需求。
2.2.4 需求调研开发
在需求调研开发阶段,每一个需求都需与客户、市场需求反复验 证确认,最终得到规范的需求规格说明书。需求规格说明书 (software requirements specification,SRS)作为用户与软件公司 双方约定的一个合同制文档,通常情况下从软件系统功能、性能、外 部接口等方面阐述用户提出的显性或隐性需求,并以此作为后续软件 生产活动的基准输入。故在需求调研、需求开发、需求评审、需求管 理环节需花费大量的时间及精力。