目录
一、 谈谈我对B/S和C/S架构的理解
二、 软件开发的模型
三、 对测试的分类与理解
四、 说一说公司的一个工作流程,并且我作为一个测试人员介入的时机
一、谈谈我对C/S和B/S架构的理解
C/S架构 中文名称为服务器-客户机,即Client-Server。服务器负责数据的管理,客户机负责完成与用户的交互任务,需要安装客户端。
发展史:C/S的发展经历了从两层结构到三层结构的阶段,两层结构由客户机和服务器组成。前端是客户机,用于完成用户界面显示,接收数据输入,校验数据时效性,处理业务逻辑,返回处理结果;后端是服务器, 提供数据库的查询和管理。
由于二层结构存在一些不足,三层结构随着中间件技术的成熟而兴起,比起二层结构,它具有良好的开放性,减少系统的成本,维护方便,可以进行严密的安全管理。
优点:
1.应用服务器运行运行服务器负荷较轻。
2.数据的存储管理功能较为透明。
缺点:
1.客户端需要安装专门的客户端软件,对客户端的操作系统一般也会有限制。
2.高昂的维护成本并且投资大。
3.传统的C/S架构的软件需要针对不同操作系统开发不同的软件。
B/S架构 即浏览器和服务器架构模式,Web Server。对C/S架构一种改进的架构。在这种架构下,用户工作页面是通过WWW浏览器来实现, 大多数事务都是在服务端实现,只有很少一部分由前端实现。
优点:
1.软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。
2.软件的趋势是凡使用B/S架构的应用管理软件,只需安装Linux服务器上即可,而且安全性高
3.用户页面主要事务在WWW浏览器实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。
二、软件开发的模型
1. 瀑布模型 是线性模型从上到下执行一次。
优点: 开发的各个阶段都比较清晰,当阶段完成后,只需关注后续阶段即可。
缺点:不适应需求的变化,风险往往在后期才会显露,失去过早修正的机会
2.快速原型模型
构建原型,在此基础上,逐渐完成整个系统的开发工作
特点:快速构建原型,支持用户参与
优点:克服瀑布模型的缺点,减少软件需求不明确带来的项目开发风险
缺点:不适合大型系统的开发(适合开发小型的、灵活性高的系统)
3.螺旋模型 引进了风险分析的活动
4.敏捷开发
比快速原型模型还快,主要依托于自动化的平台环境,高效灵活的团队以及充分 的沟通。
Devops 自动化平台 自动测试 自动运维 自动通知
三、对测试的分类与理解
分类
按测试阶段划分为:单元测试、集成测试、系统测试、验收测试
按是否覆盖源代码:黑盒测试、白盒测试、灰盒测试
按是否运行:静态测试、动态测试
按是否自动化:人工测试、自动化测试
更多:冒烟测试、回归测试、随机测试、探索测试
理解
测试,就是为了发现错误而执行程序的过程,对软件程序的质量起着促进的作用。
四、说一说公司的一个工作流程,并且我作为一个测试人员介入的时机
(1)一般来说,我们的app都是会进行更新迭代的,至于为什么,这里就不展开了。公司的产品人员就是决定app的下个版本更新什么的功能,首先他们会对市场上的app进行调研和分析,然后确定具体的实现方案,最后整理成需求文档。
(2)产品人员整理好了需求文档,他们会组织召开需求评审会,涉及项目相关的人员都会参加,测试同学也会参加。大家在会上讨论这些需求哪些可以做,哪些不可以做,为什么要做以及开发及测试的排期,上线时间等等。
(3)需求和时间定了之后,接下来就是UI出设计图、客户端和服务器人员进行开发,测试人员一般会在这个期间编写测试用例和进行一些前期的准备工作,如何做好测试前的准备工作往往能体现出一个测试的水平,优秀的测试会考虑的非常全面,可以在测试的时候游刃有余。
(4)项目开发完成了,就进入到了测试阶段,这个环节是测试最忙碌的时候,需要做的事情非常多。跑测试用例,与产品确认实现的方案可不可行,和开发确认是不是bug,把bug提到缺陷管理工具,修复后再进行验证,如此反复,直至项目测试完成。
(5)测试完成之后,服务器人员就会上线,测试人员需要进行线上回归,很多测试人员不太重视这一步,这一步其实非常重要,因为很多配置测试环境和线上不一样,测试环境无法完全模拟线上环境。回归完成后测试人员还要对线上环境进行跟踪,处理反馈等。