软件测试基础
一、软件基础
-
软件的定义
软件测试,描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程,软件测试是一种实际输出与预期输出之间的审核或者比较过程。 -
、软件的应用场景
游戏型测试,电商型测试,金融型软件,嵌入式测试等 -
软件架构分类
概念:所谓的架构就是用来指导我们软件开发的一种思维,目前最长见的就是BS/CS.
B—browser 浏览器
C—clent 客户端
S—server 服务端
区别:
A. 标准:相对于cs架构来说Bs架构的两端都是使用现成的成熟产品,bs会显示的标准一些。
B. 效率:相对于bs架构来说cs中的客户端可以分担一些数据的处理,执行效率会高一些。
C. 安全:bs架构当中得到数据的传输都是以Http协议进行传输的,而Http协议又是明文输出。可以被抓包,那么bs架构相比cs架构显得就不那么安全了,(其实都是相对的)。
D. 升级:bs架构只需要在服务器端将数据进行更新,前台只需要刷新页面就可以升级,而cs架构必须要将两端都进行更新才可以。
E. 开发成本:相对于bs架构来说cs当中的客户端需要自己开发,bs不用,所以说cs成本会高一些。
二、企业常用的测试模型
1.V模型
用户需求→需求分析→概要设计→详细设计→编码→单元测试→集成测试→系统测试→验收测试
V模型的优缺点
优点:
1 每一个阶段都清晰明了,便于控制开发的每一个过程。
2 既包含单元测试又包含系统测试。
缺点:
1 测试介入的比较晚,对于前期的一些缺陷无从发现和修改。
2 测试和开发串行。
2.W模型
W模型是双V 需要开发和测试同时进行(带‘&’符号的是需要开发人员与测试人员同时进行)
(开发)用户需求→需求分析与系统设计→概要设计→详细设计→编码→集成→实施→交付
(测试)验收测试设计&→确认与系统测试设计&→集成测试设计&→单元设计测试&→单元测试→集成测试→确认测试与系统测试→验收测试
优点
1 测试伴随着软件的整个生命周期,例如,在需求分析结束后就可以进行需求分析测试。
2 测试于开发是并行独立进行的。
缺点
1 对有些项目,开发过程中根本没有文档产生,故W模型无法使用。
2 对于需求和设计的测试技术要求很高,实践起来很困难。
三、 你们公司的流程是什么样的?
我们公司的流程是,首先是要立项确定项目–产品会出一个产品说明书–需求人员编写需求文档–需求评审–开发编写详细设计–测试编写测试用例–测试用例评审–开发进行编码–测试部署环境进行测试–首先进行冒烟测试(主的业务要实现)–接着进行功能测试–出现bug使用禅道进行记录跟踪–开发进行修改–测试进行验证–然后进行回归测试–接着验收测试,验收测试通过–进行上线