软件测试基础知识
一、web测试和app测试的相同点和区别?
相同点:都离不开测试的基础知识和测试原理
1、测试测试用例,均使用边界值分析法,等价类划分法等。
2、多数采用黑盒测试,来验证业务功能是否能得到正确的应用。
3、需要检查界面布局,风格,按钮是否美观、简洁,是否统一。
4、测试页面载入和翻页的速度、登陆时长、内存是否溢出等。
5、测试应用系统的稳定性。
不同点:相对于web测试来说,app测试要考虑手机本身固有的属性,所有app测试还需要注意以下几点:
1、中断测试(来电去电,短信,蓝牙,NFC支付,闹钟,数据线插拔,锁屏,断电,关机重启等)
2、安装卸载测试(全新安装,新版本覆盖旧版本,卸载旧版本安装新版本,卸载新版本安装旧版本)
3、外在因素测试(网络切换,硬件按键,不同分辨率,兼容性,系统,系统版本)
web测试更多的是考虑自身功能和浏览器兼容。
二、如何测试一个App的登录场景?
1、页面基本元素的操作。
2、大量字符,特殊字符,边界值,必填项校验。
3、注册手机号的特殊性验证,注册邮箱的格式验证。
4、密码大小写是否敏感,密码是否加密展示,密码是否有可见按钮功能,密码框能否使用复制粘贴。
5、验证码校验:必填项,过期,错误,无网络时获取验证码,多次获取,超过获取次数,输入验证码后,修改手机号。
6、登陆时与系统的交互:锁屏,蓝牙,home,后退,横竖屏,修改字体字号。
7、逆向思维:已注册账号注册,未注册账号忘记密码,未注册账号登陆,注册过程中退出再次注册。
8、输入法交互,切换输入法,切换输入输入模式,手写/九宫格。
9、登陆账号的多样性:多个账号轮流登陆,同一个账号多角色登陆。
10、第三方登录验证:账号授权,信息正确,取消授权。
11、登陆页面跳转,返回,登陆成功及其他页面跳转。
12、手机兼容性测试:分辨率兼容,系统兼容,系统版本兼容,App版本兼容。
13、网络切换,网络断开,弱网。
三、App的闪退通常是什么原因造成的 ?
1、缓存垃圾太多
Android系统的特性,如果长时间不清理垃圾文件,会导致越来越卡,甚至闪退。
2、运行程序太多,导致内存不足
3、应用版本兼容问题,分辨率兼容问题
4、APP中访问网络的地方,组件能否正常下载并显示
5、APP的sdk与手机系统不兼容
6、系统升级后,新版本不兼容老版本的API,返回对象失败,报空指针
7、软件权限未开放
四、软件测试分为那几个阶段?
单元测试、集成测试、系统测试、验收测试是个主要阶段
单元测试:通常由开发人员进行
集成测试:将模块按照设计要求组装起来进行测试,主要目的是发现与接口相关的问题
系统测试:是在集成测试通过后进行的,目的是充分运行系统,验证各子系统是否都能正常工作并完成设计的要求
验收测试:上线前的最终测试
五、你在测试中发现了一个bug,可能开发经理认为不是一个bug,你应该怎么解决?
1、将问题提交到缺陷管理库里进行备份
2、 根据一些需求说明书、产品说明、原型图、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接证据。
3、 若无文档,可根据用户的一般使用习惯来确认。还有与设计人员、开发人员等确认
六、测试用例包含什么?
编号、标题、前置条件、执行步骤、预期结果、用例执行日期、实际结果、测试环境
七、黑盒测试和白盒测试的区别?各自的优缺点?
黑盒测试:优点 - 不需要了解程序内部的代码及实现,与软件的内部实现无关。从用户角度出发,能很容易知道用户会用到哪些功能
缺点 - 覆盖率低,大概只能达到总代码量的30%;
白盒测试:优点 - 版本软件测试人员增加代码额覆盖率,提高代码的质量,发现代码中隐藏的问题
缺点:测试基于代码。只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求。
系统庞大时,测试开销会非常大。
八、性能测试的流程?
1、测试需求分析。
2、测试计划指定和评审。
3、测试用例设计与开发。
4、测试执行与监控。
5、分析测试结果。
九、测试用例要素有那些?
用例编号、 测试名称、 重要级别、 前置条件、 测试输入、 操作步骤、 预期结果。
十、压力测试与负载测试?
负载测试:通常运行时间比较短, 在系统上逐渐加压, 直到性能指标达到饱和状态(比如相应时间超出预期要求、 系统资源占用率居高不下等), 从而验证系统预期的性能目标、 相应时间等。
压力测试:长时间运行, 逐渐增加超负荷(并发、 循环、 多用户等), 直到系统产生异常以及对异常的处理能力, 从而验证系统可靠性、 找到系统的瓶颈。**微软压力测试的经验值为72 小时。

浙公网安备 33010602011771号