一 CS和BS软件架构
CS:客户端-服务器端,BS:浏览器端-服务器端
区别总结:
1.效率:c/s效率高,某些内容已经安装在系统中了,b/s每次都要加载最新的数据
2.升级:b/s无缝升级,c/s删除老版本再安装新版本
3.安全:c/s更安全,需要安装,注册,登录;b/s有浏览器即可使用,安全程度低
4.开发成本:b/s的成本低,c/s需要不同的系统需要不同的开发人员,成本高
二 语言发展史
1.机器语言,机器码(0和1):计算机底层识别
2.汇编语言:最接近机器码的语言,依然晦涩难懂,比其他高级语言运行速度快
3.高级语言:c,php,Java,python
三 软件测试分类
1.单元测试:模块测试;测试最小的程序模块
2.集成测试:也叫组装测试,通常在单元测试的基础上,单独的模块合在一起测试
3.系统测试:指的是将整个软件系统看为一个整体进行测试
4.验收测试:
(1)α测试:Alpha内测版本,通常只在软件开发者内部交流,或忠实的粉丝之间发布,该版本软件的bug较多,普通用户最好不要安装
(2)β测试:Beta公测版本,是对所有用户开放的测试版本,免费发布,因为里面还会有一些bug的存在
(3)γ测试:Gamma正式的候选版本
五 是否查看源代码
1.黑盒测试:关注业务逻辑,输入内容与输出结果之间
2.白盒测试:去研究里面的源代码和程序结构
六 按是否运行分类
1.静态测试:指不实际运行被测软件,而只是静态的检察程序代码,界面或文档中可能存在的错误过程
2.动态测试:是指实际运行被测程序,输入相应的测试数据,检察实际输出结果和预期结果是否相符的过程
七 按照是否自动化
1.人工测试:也叫做手工测试,测试人员手动去进行的测试
2.自动化测试:利用代码或者工具帮助人工进行测试
八 测试策略
1.冒烟测试:冒烟测试就是对系统进行最基本功能的测试,保证基本的功能和流程能走通
2.回归测试:当修复一个bug后,把之前的测试用例在新的代码下进行再次测试
3.随机测试:随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些但那个钱的测试用例没有覆盖到的部分
4.探索性测试:探索性测试意味着同时设计测试和执行测试,测试人员通过测试来不断学习被测系统。