测试理论
-----软件工程
1、阐述软件生命周期有那些阶段?常见的软件生命周期模型有哪些?
软件生命周期是指一个计算机软件从功能确定、设计,到开发成功投入使用,并在使用中不断地修改、增补和完善,直到停止该软件的使用的全过程(从酝酿到废弃的过程)
生命周期从收到应用软件开始算起,到该软件不再使用为止。它有如下各方面的内容:
初始构思、需求分析、功能设计、内部设计、文档计划、测试计划、文档准备、集成、测 试、维护、升级、再测试、逐步淘汰 (phase-out)、等等
瀑布模型,迭代式模型,快速原型模型,螺旋模型
2、什么是版本控制,常用的版本控制系统有哪些?
版本控制(Revision control)是一种软体工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。
Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为 了 帮 助 管 理 Linux 内 核 开 发 而 开 发 的 一 个 开 放 源 码 的 版 本 控 制 软 件 。https://git-scm.com/doc
SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于 RCS、CVS,它采用了分支管理系统,
它 的 设 计 目 标 就 是 取 代 CVS 。 互 联 网 上 很 多 版 本 控 制 服 务 已 从 CVS 迁 移 到 Subversion 。
3、阐述软件测试与软件开发之间的关系?
(1)项目规划阶段:负责从单元测试到系统测试的整个测试阶段的监控。
(2)需求分析阶段:确定测试需求分析、系统测试计划的制定,评审后成为管理项目。测试需求分析是对产品
生命周期中测试所需求的资源、配置、每阶段评判通过的规约;系统测试计划则是依据软件的需求规格说明书,制定测试计划和设计相应的测试用例。
(3)详细设计和概要设计阶段:确保集成测试计划和单元测试计划完成。
(4)编码阶段:由开发人员进行自己负责部分的代码的测试。在项目较大时,由专人进行编码阶段的测试任务。
(5)测试阶段(单元、集成、系统测试):依据测试代码进行测试,并提交相应的测试状态报告和测试结束报
告。
开发和测试是一个有机的整体!在产品的发布之前,开发和测试是循环进行的, 测出的缺陷要经开发人员修改后继续测试。在开发的同时测试经理开始编写测试用例,测试文档要参考开发文档,所以开发和测试是不可分割的,少了任何一个都不能开发出产品。
从角色方面看,像理论和实验的关系,开发人员通过自己的想象创造出一套思想,之 后测试人员再对它进行检验、证伪,开发人员再修改的过程从而不断丰富产品。从方法方 面看,是演绎和归纳的关系,一个要掌握大量的技术,一个要不断的从实例中学习。因这 两方面的不同,所以开发和测试看上去做的工作很不一样。
开发与测试是相辅相承、密不可分的,开发人员开发出新的产品后要通过测试判断产 品是否完全满足用户的需求。如果发现缺陷,提交给开发人员进行修复,然后再转交测试 人员进行回归测试,直到产品符合需求规格说明。
一个符合用户需求的产品是开发和测试 共同努力的成果。