笔试题:sql:查询出成绩都大于80的同学姓名
select distinct(name) from stus where fenshu>79 and kecheng='语文' and name in (select name from stus where fenshu>79 and kecheng='数学')
面试总结:
1.需要向面试官展示好的一方面,待加强的方面最好不提 比如自己项目开展的不是很好,流程不规范,产品较差等可不说,特别是流程。比如在hae项目时,自动化框架做的比较失败,加之流程不规范,说出来感觉是在玩而不是工作,这时候应该细致讲解自己工作的每个流程,标准化,对项目介绍要模块化、专业化。eg:我们的自动化测试项目主要基于selenium2开发的,主要由录制工具、本地调试工具、服务器运行平台组成。脚本语言为基于xml的自定义标记语言tml。- 脚本语言TML:tml主要为标签对组成的用例,主要有test、data、checkpoint、steps、step及其各个标签的属性组成,test标签为一个用例的标签,data为数据源配置标签,数据datagroup指定一个数据源文件,也可在脚本中定义数据,一条数据有name、value、desc(可选)组成
- 录制工具:采用的是seleniumIDE,经过了重新开发,录制出来的脚本自动生成tml形式脚本
- 本地调试工具ei,在ei中可本地运行tml后缀的脚本,能实时观察脚本运行情况,绿色表示通过,红色表示错误,错误时,能定位到具体行以及原因,此时脚本不在执行(检查失败会继续执行)
- 服务器运行平台:服务器采用selenium grid,实现了分布式负载运行,提供了基于web的管理页面,在web系统中有项目管理、用例管理、任务管理等,可上传或在线编写tml自动化用例,分支定时任务、非定时任务用例,系统可定时执行设置的自动化用例,并产生测试结果。也可手动执行单个或多个用例。
2.介绍项目时要有思路,自己的工作内容要流程化,对关键任务的流程一定要仔细规范
如:说说把一个手工用例转化为自动化用例评审用例:确定是否值得自动化?技术上能不能实现?稳定性如何?编写脚本:- 熟悉用例 -----确定流程、条件、数据、检查点
- 录制 -----快速得到整体框架
- 初始化部分-----比如数据的清除,预置条件的判断
- 修改脚本 -----使脚本结构化,加注释,加断言
- 定位及修改数据-----脚本实现关键字驱动及数据驱动
- 恢复 ------比如测试时向数据库添加的记录,测试时修改的系统配置
- 整体调试 ------保持脚本稳定性、可读性、正确性
3.自己做项目时遇到的问题应在面试前提前想好
- 定位时遇到非标准组件,codemirror-------查找codemirror对外接口或向开发咨询,定位问题:由于内容是动态生成span等包裹,所以定位必须定位到codemirror的实例
- 树上节点需要右击----------使用js执行右击事件contextmenu(),菜单位置出现的位置不对尚未解决
4.其他问题项
- 如何统计分析自动化测试结果---覆盖率、通过率、失败用例的处理
- 如何对失败的用例分析统计:
- 把失败的用例定位错误信息,并将错误信息分类统计并归档:系统功能错误,脚本错误,需求变更,环境引起的错误,其他类型的错误
- 定位问题后,调试脚本、更新对象库(定位信息等),如是其他人员职责,通知相应人员处理,如开发
- 上传脚本并运行,确保脚本已正常工作