菜鸟学测试之软件理论篇

1.软件的八大特性

软件是计算机系统硬件另一相互依存的部分,是程序,,数据极其文档的集合体系;

形态特性:是无形的、不可见的逻辑实体

智能特性:人类的智慧结晶,能够帮助我们解决复杂的计算 、分析、判断、决策等问题

开发特性:通过辅助工具(应用软件)开发新的软件

质量特性:因开发者而异,开发的应用也相应具备不同的缺陷

生产特性:开发产品出来,复制简单,成本极其有限。故而第一次软件开发相当重要

管理特性:比传统管理更为重要

环境特性:依赖于计算机系统,不可缺陷依赖环境

维护特性:维护重点体现于升级、优化、功能更新方面,甚至全盘重构等,与传统产业产品具有较大的差异

2.软件的分类

系统服务软件:如windows、Linux、UNIX

应用软件:如工具软件、游戏软件、管理软件

3.软件的生命周期

问题定义:确定好解决的问题是什么?(what),即确定软件的开发目标及其可行性

可行性研究:确定该问题是否存在一个可以解决的方案

需求分析:深入具体了解用户的需求

概要设计:设计出目标系统的实现的几种可能方案,设计出程序的体系结构

详细设计:根据概要设计的方案,详细的设计每个模块,确定模块的功能实现所需的算法与数据结构

编码和单元测试:编写实现代码,进行各个模块功能的测试与bug查找

综合测试:测试整个系统的功能

软件维护:维护系统

4.软件的开发模型

瀑布模式:计划→需求设计→设计→编码→测试→维护程序

原型模式与客户紧密联系,开发周期长。受到需求的约束大。

螺旋模型制定计划→风险分析→实施工程(瀑布模式)→客户评估

敏捷模型:以人为核心、迭代、循序渐进(测试先行)

部分转载:源于网络,具体自己查看

5.开发模型的变迁(淘宝为例)

最早期:边做边改(没有完善需求,只有idea)→稳定期:瀑布式(语言与数据库变更,但无法实时更新idea,需要下一次才可以实现)→发展期:敏捷式(迭代,产品不断变更,现其公司最常见)→创新期:DEVOPS(211:小需求2周可以上线,开发周期为1周,回归测试与上线发布1小时内完成)

6.开发文档

7.项目的进程

编程阶段:单元(白盒)-测试参与

编程完成:开发联调(集成测试)-开发为主

提测:冒烟测试自动化测试为主,手工为辅)-测试执行

测试阶段:系统测试(黑盒测试为主,自动化/接口测试为辅,根据项目进行性能、安全测试)

验收阶段:验收测试(回归测试完成后)-测试配合用户或需求

8.软件测试

经典定义:软件测试(Software Testing),在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。

标准定义:软件测试是使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。

测试目的:在于发现问题,检查系统是否满足需求

9.软件测试分类

 内容转载慕课网课程https://coding.imooc.com/class/411.html

猜你喜欢

转载自www.cnblogs.com/JGaoLin/p/12894318.html