测试环境怎么搭建?
搭建环境前,开发都会给我们一份系统发布手册,我们根据这个手册来搭建。比如,我这个xx系统是搭建在Linux系统下的,web服务器用的是Tomcat8,MySQL版本是5.7,程序是Java编写的。首先我们向开发拿到编译好的安装包,然后用xshell(或CRT)远程连接上Unix系统,把Tomcat服务器停掉,把程序包放到webapps目录下,然后再启动Tomcat服务器就可以了。
偶然性问题的如何处理?
- 在测试过程中,一旦系统出现异常信息,我们第一时间要做的是截图,保存证据;
- 确实是偶然性的bug之后,收集相关的日志,连同截图一起提单给开发定位;
- 如果没有日志记录,缺陷在当前版本无法复现,且缺陷的影响程度比较低,可以提交问题单进行跟踪,跟踪三个版本,如果后三个版本都无法复现,就可以关闭该缺陷;
- 如果这些不可复现的bug是很严重的bug,比如导致系统崩溃等,并且,实在没有再次出现,除了要及时反馈给上级之外,最后还要写到测试报告中,说明出现了什么现象,但无法再现。
提交缺陷时与开发的关系处理
当我们认为某个地方是bug,但开发认为不是bug,怎么处理?
①先跟开发沟通,确认系统的实际结果是不是和需求不一致的地方;有些地方可能需求没提及,但是用户体验不好,我们也可以认为是bug。
②如果开发以不影响用户使用为理由,拒绝修改,我们可以和产品经理,测试经理等人员进行讨论,确认是否要修改,如果大家都一致认为不用改,就不改
产品在上线后用户反馈发现bug,这时测试人员应做哪些工作?
- 测试人员复现问题后,提交问题单进行跟踪
- 评估该问题的严重程度,以及修复问题时的影响范围,回归测试需要测试哪些功能:
- 问题修复后,先在测试环境上回归,通过后再在生产环境上打补丁,然后再进行回归测试;
- 总结经验,分析问题发生的原因,避免下次出现同样问题。
缺陷严重程度有哪些
- 致命:软件无法运行,或者软件的主要功能丧失
- 严重:软件的次要功能丧失,或者主要功能在一些特定情况下会出错
- 一般:软件在某些情况下会出错,但是造成的后果影响不大
- 轻微:在某些情况下会出错,但是造成的后果影响很小
缺陷单应该包含哪些要素
- 缺陷标题
- 严重级别
- 问题所属模块
- 复现步骤
- 预期结果
- 实际结果
- 有关的日志和截图
提供足够的信息,使得开发人员既能够明确如何重现故障现象,又有足够的信息定位到问题的根源
及时更新测试用例
- 补充遗漏的测试用例
- 删除无法操作的测试用例
- 删除沉余的测试用例
测试报告包含哪些要素
- 人力投入:每个阶段哪些人工作了多久
- 用例统计:统计这个版本写了多少用例,这些用例的状态,哪些测试过了,哪些没测
- 问题单分类统计:统计bug的严重级别、bug类型、bug状态、bug根因分析表
- bug遗留情况:
- 测试风险:接下来会出现的问题
- 测试对象评估:
- 测试结论:
如何定位bug
- 检查测试环境配置是否有问题,测试数据是否有问题
- 用fiddler抓包,分析请求和响应数据是否存在问题
- 查看应用服务器日志
- 然后再查看数据库的数据是否存在问题
开发没时间修复,如何推进bug修复
- 和开发说明该问题的严重性,会怎样影响产品的正常使用,如果还是坚持不改,就上报领导,让领导辅助推进;
- 确认问题的严重程度,如果影响不大,不是非要改的bug,并且修复风险比较大,和领导商量后,如果认为暂时可以不用修复,也可以不修复
项目没有需求文档时,如何测试?
- 找产品经理、开发了解需求
- 根据现有项目系统当作原型图去熟悉
- 根据类似的项目进行熟悉
- 根据以往的经验去测试
- 根据以前的项目版本或需求去测试
工作中一般会遇到哪些困难
- 需求变更
- 开发压缩测试时长
- 不能按时上线
上线前,临时修改需求,如何处理
- 看改动需求大小
如果需求大,跟BA说明情况,然后把这个问题反馈到相关领导
如果是需求小,可以直接测试- 加班
- 优先测试需求级别高的,确保主功能没问题
- 借调人员
如何操作上线的
一般是由运维人员更新生产环境的服务器代码,测试更新测试环境搭建操作步骤
为什么测试报告或者需求需要走记录形式而不是口述
有依据可依
执行用例会有哪些问题(测试过程中,一般会遇到啥问题)
- 需求变更,没通知测试人员
- 开发压缩测试时间
- 有可能会延迟上线时间
- 需求没全部做完就上线
你们项目团队中的开发模型/模式是什么
项目安全如何做
- fiddler查看敏感信息是否加密、篡改数据
- 密码是否过于简单校验
- 异地登录是否有提示
- 不同终端登录是否有提示
- 多次非法输入是否有限定
- 获取权限时,是否有提示
- SQL语句注入
- 跨站脚本攻击
环境部署出错如何处理?
- 开发打包时,没把开发环境换成测试环境的数据库连接,测试修改时不小心删除了某个字符
- 增加新功能后,开发没告诉你需要配置哪里
- 测试人员手工换包放错了路径
页面乱码的原因
- 中毒
- 前后端代码编写没转UTF-8或者DBK
- 服务器磁盘爆满
项目的服务器架构
三层架构:Tomcat + MySQL + Java/Apache+MySQL+PHP
中间件有哪些?
Tomcat、Apache、Nginx
缓存数据库Redis-----默认端口:6379
中间件的作用?
连接客户端与服务器之间通讯的桥梁