signed

QiShunwang

“诚信为本、客户至上”

初级软件测试基础

2021/4/26 14:17:36   来源:

1、说说软件的测试流程?

网上都比较详细,写的比较简单,主要屡屡思路,方便记忆和复习。

 需求(做什么)–计划(怎么做)–用例(具体怎么做)–执行(做)–评估(做的怎么样)–用户(做的好)

1、需求分析。
2、制定测试计划。(研发制定时就应该制定好测试计划)
3、设计测试用例。
4、执行测试。(单元测试、集成测试、系统测试、回归测试、验收测试)
5、测试总结。(出报告,确认是否可以上线)
6、面向用户。

2、说说测试用例的格式?

 编号(1号)–项目(1号来自壹号)–标题(对1号测试)–优先级(1号重要紧急)–前提(只输数字)–测试(开始测)–操作(键盘敲1)–预期(1)–结果(1)

1、用例编号
2、测试项目
3、测试标题
4、重要级别
5、预置条件
6、测试输入
7、操作步骤
8、预期输出
9、实际输出

  • (1)用例编号由字母和数字组成,具有唯一性。
  • (2)测试所属的项目名,例如计算器加法功能。
  • (3)对测试用例的简单描述,标题不能重复。
  • (4)重要级别:低中高。
  • (5)预置条件是测试用例的前提条件,不满足无法进行测试。
  • (6)输入信息进行测试。
  • (7)给出每一步操作的描述。
  • (8)预期的输出。
  • (9)实际的输出。
  • (10)作者。 (11)创建日期。 (12)修改日期。

3、说说测试用例编写常用方法

A、黑盒测试方法:等价类划分、边界值、判定表、因果图、正交实验、状态迁移、场景设计

 1、有效等价类和无效等价类,比如用户名长度范围是[5,10]之间,有效等价类则长度属于[5,10],无效等价类则在区间之外。如果要以字母开头,则有效等价类满足字母开头,无效等价类不满足。

 2、边界值包括三点:上点、离点、内点。上点是边界上的点,如闭区间[5,10]的上点为5,10。离点是距上点最近的点,闭区间离点在外,[5,10]的离点为4,11。开区间在内,(5,10)离点为6,9。内点是区间内的任意点。

 3、判定表描述不同输入下的输出结果的所有情况。主要有条件和动作两个特征,条件又有条件桩和条件项,动作也有动作桩和动作项。比如手机欠费的条件用0表示已欠费,1表示未欠费。动作用0表示能打电话,1表示不能打电话。可以对应列出判定表。

 4、因果图是输入各种情况的组合来设计测试用例,可以检查每种输入组合下的输出情况。

 5、正交表可以挑选出最少、最优的组合。特点是均匀分散和整齐可比。均匀分散,任两列中水平组合出现次数相同。整齐可比,任一列中的因子出现次数相同。用例数n = k(m-1)+1,k为因子(可能性,如男人,女人),m为水平(状态,如胖,瘦)。

 6、状态迁移是根据不同的状态转变得到状态的迁移图。

 7、场景设计有三个场景,基本流、备选流、异常流。ATM取钱,基本流是输入正确的密码,能取到钱。备选流是输入错一次密码,再次输入正确密码能取到钱。异常流是输入错三次密码,吞卡。

B、白盒测试方法:语句覆盖、判断覆盖、条件覆盖、判断条件覆盖、条件组合覆盖、路径覆盖

 白盒可分为静态和动态。静态不执行程序,检查有没有写错,有没有冲突。动态执行程序,对执行前后的结果分析,主要以下 6 种。

 1、语句覆盖,所有可执行语句都能执行一次。

 2、判断覆盖,对于判断语句,要考虑 true 和 false两种情况,至少出现一次。

 3、条件覆盖,对判断语句里的条件表达式,考虑 true 和 false两种情况至少出现一次,不考虑计算结果。

 4、判断条件覆盖,判断语句的每个条件的 true 和 false 以及 结果的 true 和 false 都至少出现一次。

 5、条件组合覆盖,多个判断语句的条件组合都至少出现一次。

 6、路径覆盖,所有可能路径都至少出现一次。优点:覆盖全面。缺点:冗余大。

4、说说一个BUG从产生到关闭的过程?

1、发现BUG
2、提交BUG
3、研发确认BUG
4、研发修复BUG
5、测试BUG是否修复
6、未修复继续提交BUG
7、修复则关闭BUG

5、BUG的定义

bug是一个电脑程序里的错误,或者是一个程序不完善的漏洞。

(1)BUG按严重程度分类:

1、致命(一级bug)
2、严重(二级bug)
3、一般(三级bug)
4、提示(四级bug)

  • (1)致命:主流程无法跑通,系统无法运行,崩溃或严重资源不足,应用模块无法启动或异常退出,主要功能模块无法使用。比如:1.内存泄漏;2.严重的数值计算错误;3.系统容易崩溃;4.功能设计与需求严重不符;5.系统无法登陆;6.循坏报错,无法正常退出。
  • (2)严重:影响系统功能或操作,主要功能存在严重缺陷,但不会影响到系统稳定性。比如:1. 功能未实现;2.功能存在报错;3.数值轻微的计算错误。
  • (3)一般:界面、性能缺陷。比如:1.边界条件下错误;2.容错性不好;3.大数据下容易无响应;4.大数据操作时,没有提供进度条。
  • (4)提示:易用性及建议性问题。比如:1.界面颜色搭配不好;2.文字排列不整齐;3.出现错别字,但是不影响功能;4.界面格式不规范。

(2)BUG按优先等级分类:

1、重要且紧急
2、重要不紧急
3、紧急不重要
4、不紧急不重要

  • (1)优先级最高,一定要做的。
  • (2)暂时可以先缓一缓,但一定要做的。
  • (3)可以先准备下,随时准备做的。
  • (4)可忽略不计的。

严重程度高,优先级一定高?

  • 如果某个严重的缺陷只在非常极端的条件下产生,则没有必要马上解决。

  • 若修正一个缺陷,要修改软件的整体架构,可能产生更多缺陷,市场压力尽快发布。

严重程度低,优先级一定低?

  • 例如软件名称或公司名称的拼写错误,随属于界面错误,不严重,但关系公司形象,必须尽快修正。

(3)BUG按测试类别分类:

6、BUG描述注意点

1、确保重现Bug,严重错误重复测试两次以上。
2、用最少且最必要的步骤描述Bug。
3、一个Bug一个缺陷报告。便于Bug分配,便于回归测试。

7、一条BUG记录包含哪些内容

1、所属的位置。(产品 → 项目 → 模块)
2、影响版本,默认为trunk(主干)。
3、BUG类型。(10大种,选择对应的bug类型即可)
4、BUG标题,唯一性便于查找。
5、BUG严重程度。
6、BUG优先级。
7、重现步骤:操作步骤、预期结果、实际结果。
8、上传对应文件。(截图等)

8、你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决

先将问题暂提缺陷库。再根据需求说明书或产品说明书等确认判断依据和标准,如果必要的话,进行会议评审;向开发说明自己判断的理由,注意客观严谨,对事不对人。

9、什么是HTTP?

HTTP超文本传输协议,是基于 TCP 的应用层协议,不关心数据传输细节,主要是用来规定客户端和服务器的数据传输格式,端口号80。

HTTP的请求方式。
GET:请求资源。
POST:提交资源。
Head:获取响应头。
PUT:替换资源。
DELETE:删除资源。
OPTIONS:允许客户端查看服务器性能。
TRACE:回显服务器收到的请求,用于测试或诊断。

10、常见状态码

2XX——表明请求被正常处理了

200 OK:请求已正常处理。

204 No Content:请求处理成功,但没有资源可以返回给客户端。

206 Partial Content:对资源某一部分的请求。

3XX——表明浏览器需要执行某些特殊的处理以正确处理请求

301 Moved Permanently:资源的URL已经永久改变。

302 Found:资源的URL临时改变。

303 See Other:资源的URL已改变,客户端应采用GET方法。

304 Not Modified:资源已找到,但不符合条件请求。

4XX——表明客户端是发生错误的原因所在。

400 Bad Request:服务器无法理解客户端请求。

401 Unauthorized:发送的请求需要有通过HTTP认证的认证信息。

403 Forbidden:拒绝访问。

404 Not Found:服务器上没有请求的资源。

5XX——服务器本身发生错误

500 Internal Server Error:貌似内部资源出故障了。

503 Service Unavailable:服务器暂时处于超负载或正在停机维护,现在无法处理请求。