测试工程师-笔试题

一、测试人员在软件研发过程中,需要参与哪些流程环节?每个环节存在哪些风险? 答:需要参与流程为:需求分析审查、设计审查(包括设计文档和测试用例)、集成测试、功能测试、系统测试、验收测试、版本发布。
需求分析阶段的风险->产品需求变更的风险
设计审查->测试计划的工作量估计不准、遗漏测试点、测试类型
测试阶段->人员变动、开发提测推迟、代码质量不佳
版本发布->环境问题,配置文件的更改
二、写出Linux基本命令: 1)列出当前目录的文件

ls \ ll

2)从当前目录下创建一个子目录
mkdir test

3)从当前目录,将文件X,复制到/user/doc/目录下
cp X /user/doc/

4)在文件log中,查找字符串“target”
grep-P 'target' *log

三、线上数据库有一用户信息表(USER_INFO)如下: 请写出sql,删除FirstName为Thomas或William,并且LastName为Carter记录。
LastName FirstName Address City
Adams John Oxford Street London
Bush George Fifth Avenue New York
Carter Thomas Changan Street Beijing
Carter William Xuanwumen10 Beijing
delete from USER_INFO where LastName=‘Carter’; delete from USER_INFO where FirstName in ('Thomas','William') and LastName=‘Carter’;

四、用户在登录时,有哪些认证用户的方法? 1、静态密码:用户的密码是由用户自己设定的。在网络登录时输入正确的密码,计算机就认为操作者就是合法用户。静态密码机制无论是使用还是部署都非常简单,但从安全性上讲,用户名/密码方式一种是不安全的身份认证方式。
2、智能卡:智能卡认证是通过智能卡硬件不可复制来保证用户身份不会被仿冒。
3、短信密码:短信密码以手机短信形式请求包含6位随机数的动态密码,身份认证系统以短信形式发送随机的6位密码到客户的手机上。客户在登录或者交易认证时候输入此动态密码,从而确保系统身份认证的安全性。
4、动态口令:动态口令是应用最广的一种身份识别方式,一般是长度为5~8的字符串,由数字、字母、特殊字符、控制字符等组成。
5、USB KEY:基于USB Key的身份认证方式是近几年发展起来的一种方便、安全的身份认证技术。它采用软硬件相结合、一次一密的强双因子认证模式,很好地解决了安全性与易用性之间的矛盾。
6、生物识别:运用who you are方法, 通过可测量的身体或行为等生物特征进行身份认证的一种技术。
7、双因素:所谓双因素就是将两种认证方法结合起来,进一步加强认证的安全性。
五、一个CSV的对账文件如下: 【测试工程师-笔试题】商户订单号,交易订单号,交易时间,金额,服务费,交易状态
SH2342241,JY234555,2017-11-11 11:11:00,10000,10,成功
SH2342251,JY234666,2017-11-11 13:11:00,20000,40,失败
SH2342261,JY234777,2017-11-11 14:11:00,20000,15,成功
SH2342271,JY234888,2017-11-11 15:11:00,30000,17,失败
SH2342281,JY234999,2017-11-11 16:11:00,40000,19,成功
请使用你熟悉的语言实现一个统计的函数,参数为文件路径filepath,返回总订单数,总金额,总服务费,交易成功笔数,交易成功金额,失败笔数,失败金额。
import csvdef count(filepath): with open(filepath,'r') as csvfile: csvReader = csv.reader(csvfile) res = [] for s,row in enumerate(csvReader): if s>0: res.append(row)money_list = [] poundage_list = [] for k in res: money_list.append(k[3]) poundage_list.append(k[4])money = 0 for i in range(0,len(money_list)): sss = int(money_list[i]) money = money + ssspoundage = 0 for i in range(0,len(poundage_list)): sss = int(poundage_list[i]) poundage = poundage + sssSuccessd = [] Fail= [] for i in range(0,len(res)): if res[i][5] == '成功': Successd.append(res[i][3]) else: Fail.append(res[i][3])Successd_money = 0 Fail_money = 0 for i in range(0,len(Successd)): sss = int(Successd[i]) Successd_money = Successd_money +sssfor i in range(0,len(Fail)): sss = int(Fail[i]) Fail_money = Fail_money +sssprint("总订单数为:", len(res)) print("总金额为:", money) print("总手续费为:" , poundage) print("成功的订单数为:", len(Successd)) print("成功订单的总金额", Successd_money) print("失败的订单数为:", len(Fail)) print("失败订单的总金额", Fail_money)

以上,

    推荐阅读