软件测试面试
软件测试的目的:
1.验证软件需求和功能是否得到完整实现
2.验证软件是否可以发布
3.尽可能多的发现软件中的bug
4.尽可能早的发现软件中的bug
5.对软件质量做出合理评估
6.预防下个版本可能出现的问题
7.预防用户使用可能出现的问题
8.发现开发过程中的问题和风险
在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
一条Bug记录最基本应包含:
bug编号;bug严重级别,优先级;bug产生的模块;首先要有bug摘要,阐述bug大体的内容;bug对应的版本;bug详细现象描述,包括一些截图、录像....等等;bug出现时的测试环境,产生的条件即对应操作步骤;高质量的Bug记录:
1)通用UI要统一、准确缺陷报告的UI要与测试的软件UI保持一致,便于查找定位。
3)每条缺陷报告只包括一个缺陷每条缺陷报告只包括一个缺陷,可以使缺陷修正者迅速定位一个缺陷,集中精力每次只修正一个缺陷。校验者每次只校验一个缺陷是否已经正确修正。
4)不可重现的缺陷也要报告首先缺陷报告必须展示重现缺陷的能力。不可重现的缺陷要尽力重现,若尽力之后仍不能重现,仍然要报告此缺陷,但在报告中要注明无法再现,缺陷出现的频率。
5)明确指明缺陷类型根据缺陷的现象,总结判断缺陷的类型。例如,即功能缺陷、界面缺陷、数据缺陷,合理化建议这是最常见的缺陷或缺陷类型,其他形式的缺陷或缺陷也从属于其中某种形式。
6)明确指明缺陷严重等级和优先等级时刻明确严重等级和优先等级之间的差别。高严重问题可能不值得解决,小装饰性问题可能被当作高优先级。
7)描述(Description),简洁、准确,完整,揭示缺陷实质,记录缺陷或缺陷出现的位置描述要准确反映缺陷的本质内容,简短明了。例如记录对话框的标题、菜单、按钮等控件的名称。
9)每一个步骤尽量只记录一个操作保证简洁、条理井然,容易重复操作步骤。
10)确认步骤完整,准确,简短保证快速准确的重复缺陷。
13)尽量使用短语和短句,避免复杂句型句式软件缺陷管理数据库的目的是便于定位缺陷
14)缺陷描述内容缺陷描述的内容可以包含缺陷操作步骤,实际结果和期望结果。操作步骤可以方便开发人员再现缺陷进行修正,介绍步骤可以方便他们再现。实际结果可以让开发明白错误是什么,期望结果可以让开发了解正确的结果应该是如何。
黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点?
黑盒测试的优点有:比较简单,不需要了解程序内部的代码及实现;与软件的内部实现无关; 从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;在做软件自动化测试时较为方便。
黑盒测试的缺点有:不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;自动化测试的复用性较低。
白盒测试的优点有:帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐 藏的问题。
白盒测试的缺点有:程序运行会有很多不同的路径,不可能测试所有的运行路径;测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;系统庞大时,测试开销会非常大。
mysql 数据库:
新增:INSERT INTO 表明 ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN ); INSERT INTO runoob_tbl (runoob_title, runoob_author, submission_date) VALUES ("学习MySQL", "菜鸟教程", NOW());
查询:SELECT 字段1,字段2 FROM 表明 where 筛选条件 SELECT * from runoob_tbl WHERE id=3;
修改:UPDATE 表明 SET 字段名= 值, 字段名 = 值 where 筛选条件 UPDATE runoob_tbl SET runoob_title='学习' WHERE id=3;
删除:DELETE FROM 表明 WHERE 筛选条件 DELETE FROM runoob_tbl WHERE runoob_id=3;
PostMan
1. GET 请求
GET请求:点击Params,输入参数及value,可输入多个,即时显示在URL链接上,
所以,GET请求的请求头与请求参数如在接口文档中无特别声明时,可以不填。
2. POST请求
POST请求一:表单提交
POST请求二:json提交
POST请求三:xml提交
其它请求方式如PUT,DELETE 大致流程和GET,POST 差不多