############软件的概念############
错误观点:“软件就是程序,软件开发就是编程序”
软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合;
程序是按事先设计的功能和性能要求执行的指令序列;
数据是使程序能正常操纵信息的数据结构;
文档是与程序开发,维护和使用有关的图文材料;
############软件十大特性############
形态特性:软件是无形的、不可见的逻辑实体。度量常规产品的几何尺寸、物理性质和化学成分对它确实毫无意义的。
智能特性:软件是复杂的智力产品,它的开发凝聚了人们的大量脑力劳动,它本身也体现了知识实践经验和人类的智慧,具有一定的智能。它可以帮助我们解决复杂的计算、分析、判断和决策问题;
开发特性:尽管已经有了一些工具(也是软件)来辅助软件开发工作,但到目前为止尚未实现自动化。软件开发中仍然包含了相当份量的个体劳动,使得这一大规模知识型工作充满了个人行为和个人因素;
质量特性:软件是个人编写的,由于其开发特性存在,所以不存在完全没有缺陷的软件;
生产特性:与硬件或传统的制造业产品的生产完全不同,软件一旦设计开发出来,如果需要提供多个用户,它的复制十分简单,其成本也极为有限;
管理特性:由于上面的特性存在,所以软件过程中的管理显得更为重要,相比传统行业,也更为独特;
环境特性:软件的开发和运行都离不开相关的计算机系统环境,包括支持它的开发和运行的相关硬件和软件。软件对于计算机系统的环境有着不可摆脱的依赖性;
维护特性:软件投入使用以后需要进行维护,但这种维护与传统产业产品的维护概念有着很大差别,维护体现在升级、优化、功能更新等方面,甚至可以全盘重构;
废弃特性:与硬件不同,软件并不是由于被“用坏”而被废弃的;
应用特性:软件的应用极为广泛,如今它已经渗入国民经济和国防的各个领域,现已成为信息产业、先进制造业和现代服务业的核心,占据了无可取代的地位;
############软件的分类############
系统软件
系统软件是负责管理计算机系统中各种独立的硬件,使得它们可以协调工作;
服务性程序:如诊断程序、排错程序、练习程序等
语言程序:如汇编程序、编译程序、解释程序;
操作系统
数据库管理系统
应用软件
应用软件是为了某种特定的用途而被开发的软件,它可以是一个特定的程序,比如一个图像浏览器,也可以是一组功能联系紧密,可以互相协作的程序的集合;
############软件生命周期############
软件的生命周期,又称为软件的生存周期。它是按照按开发软件的规模和复杂程度,从时间上把软件开发的整个过程(从计划开发开始到软件 废为止的整个历史阶段)进行分解,形成相对独立的几个阶段;
每个阶段又分解成几个具体的任务,然后按规定顺序依次完成各阶段的任务并规定一套标准的文档作为各个阶段的开发成果,最后生产出高质量的软件;
###################PART3 软件开发文档###################
下面是必须的一些文档
单元测试 | 集成测试 | 冒烟测试 | 系统测试 | 验收测试 | |
---|---|---|---|---|---|
测试阶段 | 编码后 | 单元测试完成后 | 提测后 | 冒烟测试通过后 | 发布前 |
测试对象 | 最小模块 | 模块间的接口 | 整个系统 | 整个系统 | 整个系统 |
测试人员 | 白盒测试或开发 | 白盒测试或开发 | 黑盒测试 | 黑盒测试 | 最终用户需求或需求方 |
测试依据 | 代码、注释、详细设计文档 | 单元测试模块、概要设计文档 | 冒烟测试用例 | 需求说明文档、测试方案、测试用例 | 用户需求、验收标准 |
测试方法 | 白盒测试 | 黑盒与百盒结合 | 黑盒测试(手工或与自动化结合) | 黑盒测试 | 黑盒测试 |
3-11 软件测试常用术语
C/S:C指的是客户端(Client),S指的是服务器端(Server),这种软件是基于局域 或互联 的,需要一台服务器来安装服务器端软件,每台客户端都需要安装客户端软件。比如我们经常用的QQ、和各种 络游戏就属于C/S结构的软件。
B/S:B指的是浏览器(Browser),S指的是服务器(Server),这种软件同样是基于局域 或互联 的,它与C/S结构软件的区别就在于,不需要安装客户端(client),只需要有浏览器,就可以直接使用。比如搜狐、新浪等门户 站及163邮箱都属于B/S结构的软件,B/S结构软件是现在软件的主流,与C/S结构软件相比,便于升级和维护,是测试的重点。
缺陷【Bug/Defect】:软件的Bug指的是软件中(包括程序和文档)不符合用户需求的问题。
测试环境:软件测试环境就是软件运行的平台,包括软件、硬件和 络的集合。用一个等式来表示:测试环境=软件+硬件+ 络
测试用例【Test Case】:在测试执行之前设计的一套详细的测试方案,包括测试环境、测试步骤、测试数据和预期结果。
用一个等式来表示:测试用例=输入+输出+测试环境
其中,”输入”包括测试数据和操作步骤,”输出”指的是期望结果,”测试环境”指的是系统环境设置
冒烟测试【Smoke Testing】:在对一个新版本进行系统大规模地测试之前,先验证一下软件的基本功能是否实现,是否具备可测性
α测试:验收测试的一种,指的是由用户、测试人员、开发人员等共同参与的内部测试
β测试:验收测试的一种,指的是内测后的公测,即完全交给最终用户测试
3-12 软件测试常见模型
V模型:V模型时我们熟知的瀑布模型的一种改进,瀑布模型将软件生命周期划分为计划、分析、设计、编码、测试和维护六个阶段,由于早期的错误可能要等到开发后期的测试阶段才能发现,所以可能带来严重的后果。
V模型就是在这点改进了瀑布模型,在软件开发的生存期,开发活动和测试活动几乎同时开始,这两个并行的动态的过程就会极大地减少bug和error出现的几率。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!