什么是软件?
1)软件(software)是计算机与硬件(hardware)相结合的一部分,包括程序(program)和文档(document)。
程序:实现功能指令的集合。
文档:软件开发,使用,维护过程中产生的图文集合。如:《系统规格说明书》。
软件的概念:软件=程序+文档 +数据 软件测试
1.软件项目团队构成
项目经理:负责分配资源,确定优先级,协调与客户和用户之间的交往。
需求分析员(产品经理):业务分析员通过概括和界定作为建模对象的组织来领导和协调业务用例建模。
UI设计师:Web 界面的原型设计和正式设计。
软件开发工程师:(前端开发,后端开发(java,c++,php,python)),服务端开发,数据库管理)软件工程师负责完成设计师的设计意图, 根据设计文档编写代码; 根据设计文档编写单元测试代码,根据测试报告 BUG 记录修订 BUG ,完成包或子系统的开发。
测试工程师:测试工程师负责执行测试,其中包括设置和执行测试,评估测试执行过程并修改错
误,以及评估测试结果并记录所发现的缺陷。
实施工程师:负责软件产品安装调试和部署,完成项目相关系统工程工作,负责客户技术支持,负
责编写系统部署方案和使用手册、维护手册,负责系统实施计划和规划。
运维工程师:无论做什么运维,运维工程师最基本的职责都是负责服务的稳定性,确保服务可以
7*24H不间断地为用户提供服务。
2.什么是软件测试
使用人工操作或软件自动运行的方式来检验它是否满足规定的需求弄清预期结果与实际结果之间差别的过程
3.软件测试的目的
把尽可能多的问题在产品交给用户之前发现并改正
确保最终交给用户的产品功能符合用户的需求
确保产品完成了所承诺或公布的功能
确保产品满足性能和效率的要求
确保产品健壮和适应用户环境
建立软件质量的信心,度量和提高被测软件的质量
4.软件测试的原则
1,测试能显示缺陷的存在
2,穷尽测试是不可能的
3,测试尽早介入
4,缺陷的集群性
5,杀虫剂悖论
6,测试活动依赖于测试内容
7,没有失效不代表系统是可用的
8,测试的标准是用户需求
9,测试贯穿软件整个生命周期
10,独立的测试团队
5.B/S C/S架构架构
(Browser/Server,浏览器/服务器模式 Custumer/Server架构全称为客户端/服务器体系结构)
BS优点:分布性强、业务扩展简单方便,通过增加网页即可增加服务器功能、维护简单方便,只需要改变网页,即可实现所有用户的同步更新、开发简单,共享性强
BS缺点:个性化特点明显降低,无法实现具有个性化的功能要求、在跨浏览器上,BS架构不尽如人意、响应速度明显降低无法实现分页显示,给数据库访问造成较大的压力、在速度和安全性上需要花费巨大的设计成本、功能弱化,难以实现传统模式下的特殊功能要求。
CS优点:客户端响应速度快、可以充分满足客户自身的个性化要求、C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程、面向相对固定的用户群、对信息安全的控制能力很强。
CS缺点:需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置、兼容性差、开发、维护成本较高、用户群固定通常用于局域网中。
B/S与