软件的定义
软件 = 数据 + 指令 + 文档
根据应用场景分类
工具类软件、游戏型软件、媒体型软件、电商型软件等
根据软件架构分类
1.单机版软件:不联网状态(office、红警等)
2.分布式软件:联网状态
C/S架构软件:客户端需安装专门软件,如QQ 微信等
B/S架构软件:客户端为浏览器 ,如百度、hao123等
问题:cs和bs的区别
标准:相对于C/S架构来说B/S架构的两端都是使用现成的成熟产品,B/S会显示的标准一些。
效率:相对于B/S架构来说C/S中的客户端可以分担一些数据的处理,执行效率会高一些。
安全:B/S架构当中得到数据的传输都是以Http协议进行传输的,而Http协议又是明文输出。可以被抓包,那么B/S架构相比C/S架构显得就不那么安全了
升级:B/S架构只需要在服务器端将数据进行更新,前台只需要刷新页面就可以升级,而C/S架构必须要将两端都进行更新才可以。
开发成本:相对于B/S架构来说C/S当中的客户端需要自己开发,B/S不用,所以说C/S成本会高一些。
软件测试的定义
通过人工或自动化的方式来验证软件的实际结果与用户需求是否一致的过程
软件测试的原则
1.测试显示软件存在缺陷
2.穷尽测试是不可能的
3.测试尽早介入
4.缺陷集群性
5.杀虫剂悖论
6.测试活动依赖于测试内容
7.没有错误是好是谬论
测试模型
V模型
W模型
软件测试的流程
流程图
软件分类
技术:黑盒测试,白盒测试,灰盒测试
阶段:单元测试,集成测试,系统测试,验收测试
内容:功能测试,性能测试,兼容测试
其他:冒烟测试、随机测试、安全性测试、探索性测试、回归测试、Alpha测试、Beta测试