2017年1月软件测试面试小结

面试的公司:北森、小红书、斑马旅游、上海比孚

面试题目:

自我介绍

项目介绍

排序算法

http://a.mp.uc.cn/article.html?uc_param_str=frdnsnpfvecpntnwprdssskt&zzd_from=smsc-high&dl_type=2&app=smds-iflow#!wm_aid=808e32dfd63e49099c68a7822fa1341e!!wm_id=0fee279c7a734574b20bf79fa333c55d!!recoid=c9b26462ff1058f9dcf617090011afd8

常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。

  

操作系统基本模块

linux 编辑文件

linux查看文件日志

linux启动项命令

软件测试方法

查询价格sql

sql多表连接查询

http错误代码含义

http://baike.sogou.com/m/fullLemma?lid=144537898&icfa=1309103

1xx-信息提示

  

这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个1xx响应。

2xx-成功

  

这类状态代码表明服务器成功地接受了客户端请求。

3xx-重定向

  

客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。

4xx-客户端错误

  

发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。400-错误的请求。

  

5xx-服务器错误

  

服务器由于遇到错误而不能完成该请求。

  

500-内部服务器错误。

软件测试生命周期

过程: 测试计划 → 测试设计 → 测试开发 → 测试执行 → 测试评估

  

来自 <https://wapbaike.baidu.com/item/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F/2952550?fr=aladdin>

  

通用缺陷管理流程

1.开发认为是缺陷的处理

         测试人员发现并提交缺陷,由开发人员进行处理,开发人员修改了这个缺陷就会将这个缺陷的状态置为Fixed状态让测试人员进行验证。测试人员对这个已修复的缺陷进行回归测试,如果回归测试通过,则将缺陷状态置为closed,如果回归测试没有通过,则将缺陷状态置为Reopen状态等待开发再次修复,直到修复成功。

2.开发认为不是缺陷的处理

         测试人员发现并提交缺陷,由开发人员进行处理。但是开发人员认为不是缺陷,则将该缺陷的状态置为Reject状态并提交回测试人员。测试人员如果认为确实误报了缺陷,则直接关闭(Closed),如果经过测试、开发沟通认为是bug,则测试人员重新打开(Reopen)让开发人员继续修改,开发人员修复这个缺陷置为Fixed,提交给到测试人员进行回归测试,直到回归测试通过为止。

3.开发认为重复缺陷的处理

         测试人员发现并提交缺陷,由开发人员进行处理。但是开发人员认为是重复缺陷,则将该缺陷状态置为重复缺陷,作为测试人员一定要确认该缺陷是否确实有人处理(获取到重复的缺陷ID),如果确实是同一个缺陷,则将重复的缺陷直接关闭。如果不是同一个缺陷,则重新打开该缺陷,继续跟踪。

4.延迟缺陷的处理

         测试人员发现并提交缺陷,由开发人员进行处理。但是因为项目和时间等因素,某些缺陷无法在项目周期内完成,则需要进行延迟处理(备注:延迟处理的缺陷本身被确定为有效缺陷),对于延迟的缺陷需要经过开发、测试、项目经理、客户代表共同认可方可延迟。对于延迟的缺陷,置状态为Delay(测试人员翻转该状态)到了下一个版本,测试人员就应该把所有Delay状态的缺陷重新置为Reopen状态,让开发人员继续修复。

  

来自 <https://www.cnblogs.com/laoluoits/p/5770553.html>

  

  

  

测试模型(比较W模型和H模型)、测试方法

http://kb.kkyuyin.com/item/2caa81d09937d863354c138212a2fe84.html?from=smsc&uc_param_str=dnntnwvepffrgibijbpr

黑盒测试方法

http://kb.kkyuyin.com/item/edd4bcb71dd0a23e94bf32e0870b5c70.html?from=smsc&uc_param_str=dnntnwvepffrgibijbpr

如何测试一只铅笔

http://www.51testing.com/html/82/397682-233343.html

1,功能测试 能不能称作一只笔 是否能书写..

2,性能测试 写起来是不是很流畅,压力测试 用多久能用完..可对比其他上市铅笔 有什么优点。

3,用户体验 找适当人群组织群众使用 并跟踪记录使用后反应出来的效果。

4,破坏测试 多大的力气可以折断啊...等等啊

5,安全测试 铅笔芯是不是有毒,笔的木质是不是在折断时 弄坏手之类的。

6,外观审视 一般审视 这种设计是不是耐看 颜色是不是用户可以接受。

https://www.cnblogs.com/luodatou/p/5465519.html

(1)先搞清楚我们的对象!才能针对性的测试客户最在意的地方,设置测试的优先级。

(2)按测试类型逐一测试。测试主要就分为界面测试、功能测试、性能测试(压力)、安全测试、兼容测试几个方向,条理清晰的来,就不容易漏掉或者跑偏。

  

然后思考一些重要的测试方法:加入边界测试、安装测试等等,也可以用场景法(比如被老师罚抄,同时用两支笔抄作业的情况!!23333倒着写、墙上写)

时用两支笔抄作业的情况!!23333倒着写、墙上写)

a.界面测试(外表)

尺寸是否适合用户的使用(比如成人和小孩是不一样的)

色彩的搭配是不是赏心悦目

形状丑不丑

笔芯的颜色

是否方便携带和存放

上面印的logo或者文字是否正确

 

b.功能测试

笔筒开合

笔芯替换

出墨的快慢

笔头出墨的粗细

是不是可擦性签字笔

  

  

c.性能测试

笔芯的寿命

笔墨的气味

写过的字的纸,用水浸透后,笔墨会不会晕开

【压力测试】笔尖在多大的压力范围内可以正常写字(测试太轻不能出墨到太重损坏笔尖或纸张的情况)

【压力测试】笔壳在能在多大的压力范围内正常使用(考虑小孩力气太轻拿不稳,到成人用力太重掰断笔壳,掉到地上易摔坏或者踩坏)

能在哪些纸上写出字来

握笔的地方纹路会不会太咯手或者太滑

流畅度

墨水多久能干

高温和低温环境下对笔芯出墨和笔壳的影响

长时间不盖笔套,或者盖着笔套长期不用之后,会不会影响书写

 

  

d.安全测试(软件中一般是针对我们的软件信息安全)

笔墨是够有易燃性

笔墨是否对皮肤有伤害

笔杆折断,材质是不是容易刮伤手

误食笔墨是否引起中毒(有人喜欢咬笔头,此时@可怜的小白鼠)

 

  

e.兼容测试

笔壳和笔芯是否能够更好地适应主流签字笔尺寸

这个笔芯的笔尖摔坏了,我换其他的笔芯的尖能不能继续用(我高中试过,成功哈哈哈,面试的时候怎么就没想到)

 

  

比较测试:

  

与其他品牌签字笔比较,优劣在哪些地方?

场景法:

  

笔掉到地上,笔尖摔坏的可能性

倒着写,在墙上写能不能写出字来

扔到水里笔墨会不会一直晕开

  

如何测试登录页

https://jingyan.baidu.com/article/455a9950a4f4a0a167277878.html

基本功能验证

1. 如果用户未注册,提示先注册再登录

2. 输入正确用户名和密码,验证能否成功登录

3. 输入空值、错误用户名或密码,是否有相应的登录失败提示

界面测试

  1. 布局是否合理,控件是否对齐

  2. 控件长高是否符合要求

  3. 界面的设计风格是否与UI的设计风格统一

  4. 界面中的文字简洁易懂,没有错别字

性能测试

  1.打开登录页面,需要几秒(3-5-8原则)

  2.输入正确的用户名和密码后,进入系统,不超过5秒

安全性测试

1. 用户名密码是否加密

  2. 输入框是否屏蔽sql注入攻击

  3. 输入框是否禁止输入脚本

  4. 错误登录次数是否禁止

5. 是否允许一个用户多终端登录

6. 是否支持单点登录

可用性测试

是否支持键盘快捷键操作tab、enter、backspace(浏览器后退)

兼容性测试

1.主流的浏览器(IE6,7,8,9, Firefox, Chrome, Safari等)

  2.不同的平台,比如Windows, Mac

  3.移动设备上,比如Iphone, Andriod

  4.不同的分辨率

能否正常显示

本地化测试

不同语言环境下,页面的显示是否正确(中英文)

  是否向残疾用户提供足够的辅助功能(支持字体放大、缩小)

  

小黑板写Java解法

有一个数组,数组里任意个数数字相加等于一固定数值,求出所有可能性的任意数字组合?

最近遇到一道java算法题,给定一个数组,求出数组里任意个数相加等于一固定数值,求出所有可能性的任意数字组合?求解答,用最原始的算法做出这道题,求大神指点,大神给出答案?

https://yq.aliyun.com/wenzhang/show_78246

解决方案

/**

*

* @param arr

* 数组

* @param num

* 固定值

* @return 组合

*/

public static List a(int[] arr, int num) {

List strList = new ArrayList();

for (int i = 0; i < arr.length; i++) {

int all = i;

String str = i + ",";

for (int j = 0; j < arr.length; j++) {

all += j;

str += j + ",";

if (all == num) {

strList.add(str);

}

}

}

return strList;

}

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值