软件测试工程师面试题

现在有一个网站,应该如何开始测试

第一步:查找需求说明,分析测试需求

第二步: 制定测试计划,一般包括以下几个部分:功能性测试;界面测试;性能测试;数据库测试;安全性测试;兼容性测试

第三步:设计测试用例:

功能性测试可以包括:
链接测试
链接是否正确跳转,是否存在空页面,是否有不正确的出错信息返回
提交功能的测试

界面测试可以包括:
页面是否风格统一,美观
页面布局是否合理
控件是否正常使用

性能测试一般从以下两个方面考虑:
压力测试;负载测试;强度测试

安全性测试:
基本的登录功能的检查
是否存在溢出错误,导致系统崩溃或者权限泄露
相关开发语言的常见安全性问题检查,例如SQL注入

兼容性测试:
浏览器的兼容性
操作系统的兼容性
软件平台的兼容性
数据库的兼容性

第四步:开展测试,并记录缺陷

第五步:总结测试结果,给出测试报告

什么是软件质量,什么是软件质量因素的定义

概括地说,软件质量就是“软件与明确的和隐含的定义的需求相一致的程度”
具体地说,软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述 的开发标准、以及所有专业开发的软件都应具有的隐含特征的程度

软件质量因素的定义
1、正确性(Correctness):系统满足规格说明和用户目标的程度,即在预定环境下能正确地完成预期功能的程度
2、健壮性(Robustness):在硬件发生故障、输入的数据无效或操作错误等意外环境下,系统能做出适当响应的程度
3、效率(Efficiency):为了完成预定的功能,系统需要的计算资源的多少
4、完整性(Efficiency)或安全性(Security):对未经授权的人使用软件或数据的企图,系统能够控制(禁止)的程度
5、可用性(Usability):系统在完成预定应该完成的功能时令人满意的程度
6、风险(Risk):按预定的成本和进度把系统开发出来,并且为用户所满意的概率

软件的安全性从哪几个方面去测试

用户认证安全的测试要考虑问题:
1.明确区分系统中不同用户权限
2.系统中会不会出现用户冲突
3.系统会不会因用户的权限的改变造成混乱
4用户登陆密码是否是可见、可复制
5是否可以通过绝对途径登陆系统(拷贝用户登陆后的链接直接进入系统)
6用户退出系统后是否删除了所有鉴权标记,是否可以使用后退键而不通过输入口令进入系统

系统网络安全的测试要考虑问题 :

1.测试采取的防护措施是否正确装配好,有关系统的补丁是否打上
2.模拟非授权攻击,看防护系统是否坚固
3.采用成熟的网络漏洞检查工具检查系统相关漏洞(即用最专业的黑客攻击工具攻击试一下,现在最常用的是 NBSI 系列和 IPhacker IP )
4.采用各种木马检查工具检查系统木马情况
5.采用各种防外挂工具检查系统各组程序的外挂漏洞

数据库安全考虑问题:
1.系统数据是否机密(比如对银行系统,这一点就特别重要,一般的网站就没有太高要求)
2.系统数据的完整性(我刚刚结束的企业实名核查服务系统中就曾存在数据的不完整,对于这个系统的功能实现有了障碍)
3系统数据可管理性 、系统数据的独立性 、系统数据可备份和恢复能力(数据备份是否完整,可否恢复,恢复是否可以完整)

简述什么是静态测试,什么是动态测试,本质区别是什么

静态测试
是不运行程序本身而寻找程序代码中可能存在的错误或评估程序代码的过程。

动态测试
是实际运行被测程序,输入相应的测试实例,检查运行结果与预期结果的差异,判定执行结果是否符合要求,从而检验程序的正确性、可靠性和有效性,并分析系统运行效率和健壮性等性能

区别:
静态测试是指测试不运行的部分:只是检查和审阅,如规范测试、软件模型测试、文档测试等。动态测试是通常意义上的测试,也就是运行和使用软件

静态测试,通过评审文档、阅读代码等方式测试软件称为静态测试,通过运行程序测试软件称为动态测试

静态测试是指不用执行程序的测试,它主要采取方案—代码走查、技术评审、代码审查的方法对软件产品进行测试。动态测试主要通过构造测试实例、执行程序、分析程序的输出结果这三种方法来对软件进行测试

什么是黑盒测试,什么是白盒测试,有什么不同

黑盒测试
一般用来确认软件功能的正确性和可操作性,目的是检测软件的各个功能是否能得以实现,把被测试的程序当作一个黑盒,不考虑其内部结构,在知道该程序的输入和输出之间的关系或程序功能的情况下,依靠软件规格说明书来确定测试用例和推断测试结果的正确性

白盒测试
根据软件内部的逻辑结构分析来进行测试,是基于代码的测试,测试人员通过阅读程序代码或者通过使用开发工具中的单步调试来判断软件的质量,一般黑盒测试由项目经理在程序员开发中来实现

区别:
黑盒测试:功能测试,是通过测试来检测每个功能是否都能正常使用
白盒测试:称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试

黑盒测试:把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息
白盒测试:通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试。在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致

什么是α测试,什么是β测试,不同之处是什么

α测试
是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成

β测试
是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成

区别:
α测试是指把用户请到开发方的场所来测试
β测试是指在一个或多个用户的场所进行的测试

α测试的环境是受开发方控制的,用户的数量相对比较少,时间比较集中
β测试的环境是不受开发方控制的, 用户数量相对比较多,时间不集中

软件测试分为几个阶段,各阶段的测试要求是什么

和开发过程相对应,测试过程会依次经历单元测试、集成测试、系统测试、验收测试四个主要阶段:

单元测试
单元测试是针对软件设计的最小单位––程序模块甚至代码段进行正确性检验的测试工作,通常由开发人员进行

集成测试
集成测试是将模块按照设计要求组装起来进行测试,主要目的是发现与接口有关的问题。由于在产品提交到测试部门前,产品开发小组都要进行联合调试,因此在大部分企业中集成测试是由开发人员来完成的

系统测试
系统测试是在集成测试通过后进行的,目的是充分运行系统,验证各子系统是否都能正常工作并完成设计的要求。它主要由测试部门进行,是测试部门最大最重要的一个测试,对产品的质量有重大的影响

验收测试
验收测试以需求阶段的《需求规格说明书》为验收标准,测试时要求模拟实际用户的运行环境。对于实际项目可以和客户共同进行,对于产品来说就是最后一次的系统测试。测试内容为对功能模块的全面测试,尤其要进行文档测试

在windows下保存一个文本文件时弹出对话框,为文件名建立测试用例,该怎样划分等价类

单字节,如A
双字节, AA、我我
特殊字符 /‘。‘;、=-等
保留字,如com;文件格式为8.3格式的
文件名格式为非8.3格式的
/,,*等九个特殊字符

有一个文本框要求输入10个字符的邮编,对于该文本框应该怎样划分等价类

特殊字符,如10个*或¥
英文字母,如ABCDefghik
小于十个字符,如123
大于十个字符,如11111111111
数字和其他混合,如123AAAAAAA
空字符;保留字符

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试小姐姐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值