1. BS/CS架构的区别是什么?
概念:所谓的架构就是用来指导我们软件开发的一种思维,目前最常见的就是BS/CS。
B -- browser 浏览器
C -- client 客户端
S -- server 服务端
区别:
- 标准:相对于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成本会高一些。
2. 举例说一下你的接口测试是怎么做的?
- 下单这个接口用的是http协议,使用post请求方式,发送给服务器的参数有token,产品ID,购买 数量,收货人地址等等,这些参数都是必传的参数。
- 我们是使用Jmeter来做接口测试的,首先,要新建一个线程组,在线程组下面添加一个http的请 求,然后填写好服务器地址,接口路径,请求方式,请求参数。
- 由于下单的接口依赖于登录,所以我们会先调用登录接口,从中获取token值,在下单接口中使用${参数名} 的方式引用,接下来还要对其他参数进行参数化,构造各种正常和异常的数据,我们先在本地创建一个txt文档,把参数填写到文档里面,在Jmeter中添加一个csv文件设置,填写好txt文 档的路径,然后在请求参数中使用Json提取器把token值关联出来,然后在下单接口中使用${参数 名}的方式引用;接下来添加断言,检查服务器返回的结果和预期结果是不是一致的。
- 最后,添加查看结果树查看测试结果。
3. Android手机和IOS手机,系统有什么区别?
- 运行机制不同:IOS采用的是沙盒运行机制,安卓采用的是虚拟机运行机制
- 两者后台制度不同:IOS中任何第三方程序都不能在后台运行,安卓中任何程序都能在后台运行,直到没 有内存才会关闭
- IOS中用于UI指令权限最高,安卓中数据处理指令权限最高
4. 缺陷引起原因
- 软件结构复杂
- 编码问题
- 使用新技术
- 需求不明确或者更改需求
- 项目周期短,时间紧迫
5. 接口测试流程?
- 项目启动后,测试人员尽早找开发人员拿到接口文档,获取接口文档后进行接口用例的编写和调试,完 成后部署到持续集成的测试环境中,进行接口的日常监控,定期对接口脚本的维护更新,接口异常的处 理。
6. 你以前工作时的测试流程是什么?(自己编写,结合表格)
- 先要有需求评审(有开发人员---产品经理---测试人员---项目经理)需求确定(出一份确定好的需求文 档)开发设计文档(开发人员在开始写代码前就能够输出设计文档)制定测试计划---写出测试用例---发给开发人员与测试经理看一下---接到测试版本---执行测试用例---提交Bug---交给开发人员修改---回归测试。
7. 当你参加评审时,你的评审原则是什么?
首先要从正确性,一致性,可行性,必要性,可跟踪性,分配优先级,可测性,可修改性考虑:
正确性:每一条需求都必须准确的陈述其要开发的功能。一致性:必须与其他软件需求或高层需求不相矛盾。
可行性:其每一项需求都必须是已系统和环境的权能和限制范围可以来实施的。
必要性:每项需求都是用来授权你编写文档的“根源”,要使每项需求都能回潮至某项客户的输入。可测性:每项需求都能通过设计测试用例或其他的验证方法来进行测试。
可修改性:每项需求只应在SRS中出现一次,这样更改会容易保持一致性。
可跟踪性:在每项软件需求与它的根源与设计元素,源代码,测试用例之间建立起链接,而这种可跟踪 性要求每项需求都必须以一种结构化的,粒度好(fine-grained)的方式编写
分配优先级:应当对所有的需求分配优先级,如把所有需求都看作同样重要,那么项目管理者在开发或 节省预算或调度中丧失控制自由度
8. 软件测试的需求标准是什么?
- 文档版本信息:包含文档版本,作者,完成日期,修订版需要加上修订记录(版本号,修订者,日 期,内容)。
- 目录结构要清晰,不同级别的标题要区分字号。
- 产品架构:一般只有功能以及信息架构,
- 功能:一级-二级,三级功能要划出。以及产品特性(功能列表,原型界面,详细设计)。
15. 写一下V,W模型图
10、软件质量的特性是什么?
- 功能性:软件需求要满足用户显示或者稳式的功能。
- 易用性:软件易于学习和上手使用。
- 可靠性:软件必须实现需求当中指明的具体功能。
- 效率性:类似于软件的功能。
- 可维护性:需求软件具有将某个功能修复之后继续使用的功能