01 如何分析一个水杯

 

 

        分别从:需求、功能度、界面、安全性、可靠性、兼容性、易用性、用户手册是否详细、疲劳测试、压力测试、震动测试来说。

 


 02 为什么选择软件测试这一行业

 

 

        肯定不能说自己编程能力不行所以选择测试之类的,先说软件测试在整个系统上线的过程中都十分的重要,然后想在这里锻炼自己。

 

 


03 UI测试

 

 

        测试用户界面的功能模块的布局是否合理,整体风格是否一致和各个控件的放置位置是否符合客户使用习惯,更重要的是要符合操作便捷,导航简单易懂,界面中文字是否正确,命名是否统一,页面是否美观,文字、图片组合是否完美等等。 

 

        但是我的面试官在我说完页面是否美观之后,问我这个美观是谁来评判的,开发人员说他好,测试人员说不美呢?我说是需求里面的,针对用户群体。他又问,这个用户群体的需求又是怎么确定的呢?我说了采用调查问卷的形式,但是他好像不满意。

 


 04 当你的程序有问题的时候你怎么处理

 

 

以下是简略的概述: 

 

1.了解症状:首先出bug了,确定症状发生的时间,业务场景,涉及用户(when,where,who,what) 

 

2.查看异常日志及其上下文

 

3.分析异常日志定位问题代码,问题数据 

 

        1) 如果是业务日志,搜索全局业务代码,搜索框架代码,如果涉及底层的开源的,将日志google和百度之,或者咨询相关人士。

 

        2) 找到该条日志所在路径,定位出问题的代码模块,这样可以缩小搜索代码的范围,搜索相应的代码(业务代码,框架代码,开源代码)定位代码中异常日志打印位置,并且可以看看问题时间上下都打印了哪些日志,根据问题代码跟踪日志的上下文。 

 

        3) 找到问题代码之后,从下往上回溯,分析各种引起异常的可能。 

 

        4) 某一个线上bug出现可能跟刚上线的代码相关,跟业务变更相关,跟异常数据相关,跟大量处理请求相关,跟大数据相关。 

 

所以一旦出bug,分析上述相关因素是否会引起该异常(最近是否有代码变更,是否上游有业务变更,是否有大量请求,是否有异常数据等)。如果没有日志,尽量将问题进行复现。(没日志或者问题不可复现的可能性基本都比较低) 

 

4.复现问题: 

 

        如果问题能够复现,则在开发机上根据猜想打日志,根据日志找到问题的症结—问题复现的关键在于找到问题数据 

 

        如果是系统问题,比如cpu使用率过高,内存过高,队列过长等 

 

        cpu使用率过高,首先top定位是哪个程序或者代码引起的问题,再看看当时的业务数据。 

 

        如果内存过高,也是使用top定位问题代码,同时看看相应的业务数据。 

 

        分析程序是io密集还是cpu密集,若是cpu密集看load和进程调度(上下文切换数,中断数等),io密集看磁盘io和网卡流量。内存不足的时候看swap换入换出,磁盘不足看磁盘空间。 

 

        如果队列过长,要么是消耗慢,要么是写入快所以才产生堆积。消耗慢或者写入的时候会不会打日志,若会看看日志。写入快可以看看上游写入数据的增长情况,消耗慢看看下游消耗数据的速度,接入下游服务或者下游服务是否出现什么问题。

 


 05 当你访问网站出现500的错误的时候你怎么检查

 

 

先看服务进程,查看日志。 

 

1.数据库异常: 

 

        ① 检查数据库是否能够连得上 

        ② 数据库相关配置是否正确 

        ③ 检查swagger,看swagger页面是否能够正常访问,后台接口能够正常获取诗句哭的只是。

        ④ 检查主从数据库是否一致 

        ⑤ 是否初始化。 

        ⑥ 数据库的磁盘空间是否满了(不一定会报500,但是页面加载不出来) 

        ⑦ 并不是所有成员操作都有权限,查看服务日志。 

 

2.域名异常 

 

        看该服务的域名是否丢失,无法访问到正确的ip 

 

3、/etc/hosts没有配置解析 

 

4、logout的 URL配置问题,网站的退出登录时,页面直接500 

 

        在首页退出登录,本来应该是界面回到最初的登录界面,但是退出登录之后,界面直接就是一串500的报错。于是查看tomcat下应用里面的inputs参数,检查log out这里对应的URL链接地址。换成正确的地址之后,500错误解决 

 

5、memcached异常,页面登录,报500 

 

        在前端是加了memcached的,在登录页面输入用户名和密码登录,进去之后发现不是网站的首页,而是页面直接就是500的报错信息,报错信息还写了time out等等,其中注意到报错里面有两个IP地址,经核实,正是memcached的IP地址,于是查看memcached服务,确认是memcached服务异常引起的。

 


 06 HTTPS的加密过程发生在哪里

 

 

 

       由图可以知道,加密过程发生在TCP三次握手之后,http请求发送之前。

 

以上是携程的部分题,还会问实习,问项目,还问了一个QQ聊天界面测试设计。