其实自己也有测试经验的:
贝塔测试暂且不说(在用户的角度)、
在开发者角度(自己编写的代码,单个测试用例,分析底层资源映射的情况看是否正确,多组用例,看不同需求的处理是否会发生内存的出错,
极大的数据量,比如几十万个需求,看是否有内存泄漏等 都是自己做过的测试。自己编写代码,去分析测试得到的结果 的正确性。)
测试问题(分析思路):项目测试设计
- 明确测试任务
- 制定测试方案
- 优化测试用例
在回答该问题之前,先应该向面试官发问,明确产品支持的手机平台,之后,才能有的放矢的开展具体的设计。其次,应该明确产品的研发周期等信息,只有了解了项目进度安排等信息,才能制订有效的测试策略,在测试的深度和项目开发时间要求上取得较好的平衡。比如,有的项目是时间驱动的(Date-Driven),这类项目的特点是预先制订发布时间,要求到了那天,产品就一定要发布,对这类项目,我们在设计测试计划时,就应该更多的考虑解决和项目发布相关的质量问题;另外有些项目,可能是质量驱动的(Quality-Driven),这类项目的特点是对发布时间没有强行的规定,但要求产品的质量必须达到一定的指标,并且需要在发布以后,实时监控产品质量,那么,在测试中,我们不仅要做好项目当下版本的测试工作,还需要考虑构建长期、高效地测试系统和平台,保障产品质量能够实时度量。
之后,才是测试用例问题。。。
测试输入框:
1.兼容性:平台、分辨率、浏览器等
2.功能型:输入->回馈
输入的字符、汉字、半角全角、过长、有空格(前后可删)、特殊字符、模糊搜索、输入为空
快捷键的相应,ctrl+c/v/x/z等 tab键、enter键等是否有效。鼠标的左右键,双击单击三击等。
看回馈的结果:是否为想要的结果。
3.辅助性: 因为是与客户交互的,易用性等、是否会有辅助性的提示关键词 eg:淘宝购物框
做测试为什么linux很重要?
1.不能只依赖于图像化的测试操作。Linux 查看日志,配置文件效率更高。
2.加深对OS 的理解,了解底层模型。
用户注册测试用例:
1.邮箱、手机号的测试:手机号可以用有效等价类、和无效等价类。
2.名称:提示是否重复,是否符合规范,推荐用户名等。都要注意输入异常的情况。
3.密码和确认密码:输入正确,输入异常情况分析。
微信红包测试用例:
测试用例的关键:
1.第一步:找测试点。
2.掌握编写测试用例的常用方法。
等价类划分(有效、无效);边界值分析;错误猜测(直觉、经验)等
测试用例的规模往往很大,怎么管理?
不仅大,而且容易改变。随时可能补充完善。
excel等原始表单记录测试点啥的,或者什么工具。
黑盒测试:
1.等价类划分(有效、无效);
2.边界值分析;边界值易出错,尤其设计循环,下标之类的
3.随机数据;
4.元素分析(由元素属性范围寻找测试空间缺陷,设计测试用例);
5.错误推测(经验、直觉);
6.决策表,因果图的辅助分析(中国象棋中的走马)-----根据软件的需求描述, 画出因果图,画出决策表,分析出所有可能的情况,以及应该产生的结果。可以更好的设计测试用例。的确是黑盒的,因为我们并没有看到功能是如何被代码实现的。
白盒测试:
1.静态测试(看程序,代码规范性、代码错误检查,静态结构分析,)、动态测试(run代码)
2.逻辑覆盖层层递进(判定和条件覆盖是并列结构)
语句覆盖--
判断分支覆盖(true/false boolean值满足一次)--
条件覆盖(每个条件取值各满足一次,无所谓true/false是否都照顾到)--
判断--条件覆盖(判断的条件都执行一次结果,同时给出false/true的场景)--
条件组合覆盖(不仅判条而且覆盖到了true/false可能情况的所有组合)--
路径覆盖
3.结构性测试(数据流)
4.程序插桩:比如代码里加一个printf()等。
5.控制结构测试(重点检查模块中含逻辑条件覆盖的测试用例)
测试常见的性能指标,要专业,不要瞎说:
1.并发用户数 =(登录会话数*平均登录时间)/考察的时间段长度
2.最大吞吐量 = (并发用户数*每个用户请求数 )/考察时间
3.休眠时间 = 考察时间 / 并发用户数
4.资源利用率 CPU、IO、内存等
性能测试的常见类型:在一定负载下,系统响应时间是否满足性能需求。
1.负载测试:确定最大并发量,最大有效用户数目、系统最长响应时间、CPU利用率等
2.压力测试:模拟大量用户让服务器资源处在极限状态下连续运行,看稳定性。有极大压力而又未崩溃
3.配置测试:低配,推荐配置模式下,对性能预估。
4.容量测试:系统的最大会话数,能处理的最大会话能力。
5.并发测试:是否出现死锁、冲突资源竞争等情况。
6.可靠性测试:加载一定的业务能力,(CPU70~90%)长时间运行,是否会出现内存泄露等情况。
测试大致流程:
需求分析--测试设计与计划制定--测试实施--测试结束--验收文件归档
测试阶段可以分为: 单元测试、集成测试、系统测试、验收测试、回归测试等