软件测试面试题1.简述测试流程第一步:对要执行测试的产品/项目进行分析,确定测试策略,制定测试计划。该计划被审核批准后转向第二步。测试工作启动前一定要确定正确的测试策略和指导方针,这些是后期开展工作的基础。只有将本次的测试目标和要求分析清楚,才能决定测试资源的投入。
第二步:设计测试用例。设计测试用例要根据测试需求和测试策略来进行,进度压力不大时,应该设计的详细,如果进度、成本压力较大,则应该保证测试用例覆盖到关键性的测试需求。该用例被批准后转向第三步。
第三步:如果满足“启动准则”(EntryCriteria),那么执行测试。执行测试主要是搭建测试环境,执行测试用例。执行测试时要进行进度控制、项目协调等工作。
第四步:提交缺陷。这里要进行缺陷审核和验证等工作。
第五步:消除软件缺陷。通常情况下,开发经理需要审核缺陷,并进行缺陷分配。程序员修改自己负责的缺陷。在程序员修改完成后,进入到回归测试阶段。如果满足“完成准则”(ExitCriteria),那么正常结束测试。
第六步:撰写测试报告。对测试进行分析,总结本次的经验教训,在下一次的工作中改
2什么是软件测试的目的与原则软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查。软件测试的目的是:(1)从用户角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,已考虑是否可以接受产品。(2)从软件开发者出发,则希望软件测试成为表明软件产品不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。
3.目前主要的测试用例设计方法是什么等价类划分,边界值,错误推测法,因果法,判定表驱动法,正交法,功能图法,场景法,
5.软件的安全性应从哪几个方面去测试
软件安全性测试包括程序、数据库安全性测试。根据系统安全指标不同测试策略也不同。
6.黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点!黑盒测试
白盒测试优点:1)帮助软件测试人员增大代码的覆盖率。提供代码的质量,发现代码中隐藏的问题
缺点:1)程序运行会有很多不同的路径,不可能测试所有的运行路径2)测试基于代码,只能测试开发人员做的对不对,而不能知道设计是否正确,可能会漏掉一些功能需求3)系统庞大时,测试开销会非常大。
总线程数<=CPU数量:并行运行总线程数>CPU数量:并发运行
8.您认为在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果
运用一些测试管理工具如TestDirector进行管理也是较有效的方法,同时要注意在TestDirector中对BUG有准确的描述。
在团队中建立测试人员与开发人员良好沟通中注意以下几点:一真诚、二是团队精神、三是在专业上有共同语言、四是要对事不对人,工作至上
当然也可以通过直接指出一些小问题,而不是进入BUGTrackingSystem来增加对方的好感。
9.测试结束的标准是什么作为软件测试结束的标志是:错误强度曲线下降到预定的水平。
1、吞吐量:每秒钟系统能够处理的请求数,任务数
3、错误率:一批请求中结果出错的请求所占比例
1、单用户登陆的响应界面是否符合预期
2、单用户登陆时后台请求数量是否过多
4、高并发场景下服务端的监控指标是否符合预期
5、高集合点并发场景下是否存在资源死锁和不合理的资源等待
12.购物车功能怎么进行测试功能测试1.点击购物车是否可以跳转购物车界面2.选中商品后是否可以正确计算出商品总价3.点击管理是否可以弹出管理相应按钮(清理、移入收藏夹、删除)4.点击商家前的空心圆是否可以批量选中购物车内相应店铺所有商品5.点击商品前的空心圆是否可以选中该商品6.点击商品是否可以跳转商品详情购买界面7.点击店铺是否可以跳转店铺8.点击颜色分类是否可以进行颜色重新选择9.点击下方全选前的空心圆是否可以选中购物车内所有商品10.未选择商品点击结算是否可以弹窗提示“您还没有选择宝贝哦”11.选择商品点击结算是否可以跳转至确认订单界面12.点击已选择商品前的对勾是否可以取消选中状态
界面测试1.图片展示是否有误2.颜色搭配是否赏心悦目3.选中商品后商品前的空心圆有怎样的变化4.购物车下是否可以展示购物车内商品数量5.是否可以正确展示购物车商品信息(店铺、图片、文字描述、价格等)6.“你可能还喜欢”模块商品图片布局是否美观7.已下架商品是否会有相应提示
性能测试1.页面响应速度怎样2.下滑是否会有卡顿3.最多可以存放多少件商品4.最大一次性可以交易的金额是多少
安全测试1.交易过程中是否存在密码泄露的风险2.商家是否能查看用户的购物车3.用户地址和手机等信息是否会被泄露4.别的用户能否查看他人的购物车
13.对于有系统大量并发访问,你会如何做测试,有什么建议
此类测试实际上涉及多个部分的内容,不同部分的测试策略不相同。一般而言,整体测试策略是:先针对部分系统进行性能及压力测试,得到各部分的峰值处理性能;再模拟整体流程测试,此时倒不用按照峰值跑,重点测试整体业务流程及业务预期负荷。在定义好各部分的测试策略后,具体的工具使用选择倒不是主要问题。
1、不同省份、不同运营商CDN节点性能此部分可以采用典型压力测试的方案。
2、核心机房BGP网络带宽此部分重点在于测试各运营商BGP网络可靠性、实际速率等,一般采用smokeping、IxChariot等工具。
3、各类硬件设备性能此部分一般采用专业的网络设备测试工具。
4、各类服务器(Web服务器、应用服务器、缓存服务器等)并发性能、分布式处理能力此部分可以采用压力测试方案及工具。
6、业务系统性能此部分可以采用业务系统压力测试方案。
7、数据库处理性能大部分互联网公司都对数据库作了定制改造以满足业务需要,此部分测试需要结合业务系统进行测试,以获取核心业务场景下数据库的TPS/QPS,尤其是测试定制改造的地方。
8、支付渠道接口及分流测试此部分相对而言可能是最大的瓶颈所在,也是互联网公司们无法完全掌控的地方,只能协调银行总部改造支撑。
另外还涉及备份方案、容灾方案、业务降级方案的测试。这里指的业务降级方案,是基于“有损服务、柔性可用”的策略,为保证核心服务可用的前提下,对部分服务的质量降级处理。
14.简述负载测试与压力测试的区别。
1、含义不同:
负载测试是通过改变系统负载方式、增加负载等来发现系统中所存在的性能问题。负载测试是一种测试方法,可以为性能测试、压力测试所采用。压力测试通常是在高负载情况下来对系统的稳定性进行测试,更有效地发现系统稳定性的隐患和系统在负载峰值的条件下功能隐患等。
2、对象不同:
压力测试强度,负载测试载重。
15.假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。题是如何只用这2个水壶从池塘里取得3升的水。
1.将5L的水壶打满。此时两个水壶盛水5/50/6(即有5L的水在5L的水壶中,0L的水在6L的水壶中,下同)。2.将5L的水壶中全部水倒入6L的水壶中。此时两个水壶盛水0/55/6。3.将5L的水壶再次打满。此时两个水壶盛水5/55/6。4.用5L的水壶中的水倒入6L的水壶中,直至6L的水壶变满。此时两个水壶盛水4/56/6。5.将6L的水壶清空,并将5L水壶中的水倒入6L水壶中。此时两个水壶盛水0/54/6。6.将5L的水壶打满。此时两个水壶盛水5/54/6。7.重复4的过程。此时两个水壶盛水3/56/6。至此,我们取得了3L的水。