目录

基础篇

1. 什么是软件测试?

2. 软件测试的目的

3. 软件测试与软件开发的区别?

概念篇

1. 什么是需求?

2. 需求是软件测试的依据

3. 测试用例

4. 什么是BUG?

5. 开发模型(5个模型)

(1)瀑布模型

(2) 螺旋模型

(3,4)增量模型,迭代模型

(5)敏捷模型

6. 测试模型

(1)V模型

(2)W模型——双V模型

7. 软件测试的生命周期(软件测试流程)

8. 如何描述一个BUG

9. BUG的级别

10. BUG的生命周期

11. 测试人员因为一个BUG和开发人员发生冲突,该怎么做?


基础篇

1. 什么是软件测试?

软件测试(Software Testing)的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。简单来讲就是:软件测试人员验证软件是否满足用户的需求;

2. 软件测试的目的

  • 提高软件的质量,其一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事件;
  • 提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息;
  • 软件测试不仅是在测试软件产品的本身,而且还包括软件开发的过程,如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的;

3. 软件测试与软件开发的区别?

(1) 技能要求专业度

  • 软件开发:技能的要求专业度高,技能要求不广泛;要熟悉C/C++,Java,python,PHP等语言,以及相关框架Spring,Spring Boot等,构建工具maven,Gradle等;
  • 软件测试:技能要求比较广泛,但是专业度不高;

【测试接口】soupUl, postman , jmeter

【性能测试】loadrunner,jmeter

【自动化测试脚本】Python,java,unittest,TestNg,Charles,fiddler,appium

(2) 软件测试和软件调试

目的不同:软件测试就是验证软件是否实现了它应该实现的功能(需求);
                  软件调试的目的是软件开发人员验证软件是否实现了他(开发人员的角度)想让软件实现的功能;

角色不同:测试是由开发人员(白盒测试)和测试人员共同完成;
                  调试是由开发人员完成;

阶段不同:测试现在贯穿了整个软件开发的生命周期;     需求一>计划一> 设计一>编码一>测试一>运维
                  调试是在开发阶段;

概念篇

1. 什么是需求?

用户的期望和满足合同(文档,规则,标准)的规定所需要的条件和权限;

软件需求是用户需求转换而来的,它是用户需求的细化,是用户需求的具体实现细节和规范;

用户需求比较粗略,直接实现会有困难,因为没有细节,所以需要软件需求把用户需求细节实现和规范,把用户需求变成一个具体的可实现的过程文档;

2. 需求是软件测试的依据

验证需求,保证需求正确可实现,细化需求,从需求中提炼出一个一个的测试项;

以用户登陆为例,阐述下整个过程:

软件测试人员如何深入了解需求? 答:从用户需求分析阶段就开始介入了解需求,站在用户的角度;

3. 测试用例

测试用例(Test Case)是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。简单地认为,测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求;

测试点:用正确(已经注册)的手机号和密码登陆网易邮箱界面,登陆成功

测试用例

测试环境:  Chrome版本99.0.4844.51   PC端 Windows系统
测试数据:  用户名: 134****2311   密码: *******
测试步骤:   1、 在浏览器打开邮箱URL: https://mail. 163.com/?msg= authfail#return
                  2、输入用户名和密码
                  3、点击登陆
预期结果: (操作完测试步骤后的结果)登陆成功

测试用例告诉我们测什么,怎么测

优点:  衡量需求的覆盖率(测试用例和需求对比); 复用性,借鉴意义; 可以用于回归测试; 防止遗漏测试需求;

4. 什么是BUG?

当且仅当,程序规格说明书(软件需求)存在并且合理,如果软件功能和软件规格说明书不相符合,我们就说是软件错误;当软件需求不存在,用户需求存在并且合理,软件功能和用户功能不相合,就说明是软件错误;软件测试的阶段:  整个软件开发的生命周期,需求阶段介入  验证需求的合理性和正确性;

5. 开发模型(5个模型)

软件开发的生命周期 : 需求分析一计划一 设计一 开发一 测试一 运行维护

(1)瀑布模型

特点 : 阶段性强,每一个阶段比较独立; 看重前期的需求分析和后期的测试
缺点 : 测试在编码后才开始介入,导致前期的问题后期才发现,会失去错误补救的机会

(2) 螺旋模型

适合于项目庞大,风险大,不是很明确项目
特点: 强调每一个迭代的测试质量和风险分析
缺点: 风险管控人力物力投入很多,成本比较大

(3,4)增量模型,迭代模型

同一个系统的四个模块 A  B  C  D  两周
增量模型:第一周开发A B功能模块,第二周开发C D功能模块
迭代模型:第一周先开发A B C D的基础功能,第二周再在第一周的基础之上完全其它的功能
       特点:抗击风险能力强;

(5)敏捷模型

个体与交互重于过程和工具;可用的软件重于完备的文档;客户协作重于合同谈判;响应变化重于遵循计划
特点:轻文档,轻流程,重目标,重产出

角色:
PO:product owner,把用户需求转化成user story
SM:scrum master项目经理,管理整个团队,负责敏捷流程顺利实施,各种会议
ST:scrum team各种技能的人组成,开发,测试UI

scrum流程:

发布计划会议:产品经理收集需求形成userstory ,讲解,排出本迭代需要进行开发的userstory形成sprint backlog
迭代计划会议:分析用户故事,把userstory分解- 个个的任务, 分配开发人员,制定开发计划
每日站会:昨天干了什么,遇到的问题,今天的计划
产品演示会议:甲方,用户演示产品,PO把不足的地方收集成user story,下一次迭代改进
回顾计划会议:回顾整个迭代过程,把不足的地方找出,在下一次迭代过程中改进,优化迭代流程

6. 测试模型

(1)V模型

特点: 每一个阶段独立性强;左边每一个阶段都是右边测试阶段的依据;和右边阶段每一个测试阶段一一对应;

缺点:编码后才进行测试;前期的错误后期才会被发现,会失去错误即使补救的机会;

(2)W模型——双V模型

特点: 每一阶段独立性强;测试一开始就介入;可以保证前期的问题及时发现和纠正;测试和开发并行。

缺点:每一阶段都是串行的过程;一个阶段完了之后就进行下一个阶段;不支持敏捷(拥抱变化)开发

7. 软件测试的生命周期(软件测试流程)

需求分析——测试计划——测试设计/开发——测试执行——测试报告

需求分析:分析需求,验证需求的正确性、合理性;细化需求,根据需求去提炼测试点

测试计划:确定测试范围、目的、目标、测试人员、测试工具、时间、测试环境

测试设计/开发:开发测试用例

测试执行:开发人员已经提交了代码,执行测试,提交BUG

测试报告:对本次迭代的测试情况进行分析和总结;写了多少测试用例执行了多少;发现了多少BUG,修改了多少,剩余多少BUG没有解决;方案;测试的覆盖率

8. 如何描述一个BUG

(1)测试版本(代码提交版本号)

(2)测试环境:因为在不同测试环境问题出现的情况也不一样

(3)测试步骤:测试数据和执行测试的详细步骤,方便为开发人员复现问题

(4)实际结果

(5)预期结果(需求期望的结果)

(6)BUG产生时的log日志,错误截图等附件

9. BUG的级别

(1)崩溃
系统崩溃,不能运行,死循环,数据库死锁,资源分配不均,黑屏,闪退,阻塞。

线上(用户使用的环境)出现崩溃级别的BUG:回到上一个可稳定运行的历史版本

(2)严重
服务器可以用,但是不稳定,继续使用会产生严重的错误;一级菜单错误,数据库插入数据错误,威胁到用户的安全等

(3)一般
系统可以稳定的运行,次要的功能没有实现,提示语不完整,弹出框没有关闭按钮,不影响用户的使用

(4)建议(次要)
建议性的,提示信息重叠(看不清楚),界面排版不符合用户使用习惯,颜色不符合软件使用场景

10. BUG的生命周期

问题:发现一个BUG,开发人员修改了,通知测试人员验证,但是测试人员又复现了这个BUG,是哪些可能的原因引起的?

答:测试环境不一样;开发人员理解不到位,没有修改成功;代码在开发人员修改之后未进行远程提交代码,测试人员用旧版本(有问题的代码)进行测试

11. 测试人员因为一个BUG和开发人员发生冲突,该怎么做?

(1) 检查自己的BUG描述,是否描述清楚

(2)可以从用户的角度考虑,说服开发人员

(3)BUG定级要有理有据,符合公司规范

(4)测试人员要不断提升自己的专业技能和业务水平(权威性)

(5)找产品经理去讨论问题的解决方案

【软件测试】—— 基础知识总结相关推荐

  1. 软件工程与软件测试基础知识_这是我在软件工程工作九个月中学到的知识

    软件工程与软件测试基础知识 I've been working for about nine months at Dexter as a software developer. I wrote a b ...

  2. 软件测试基础知识大全【乐搏TestPRO】

    在很多人的认知里,软件测试入门门槛低,简单易学.确实,软件测试基础知识更偏向于理论方法的学习,及部分常用工具的学习. 接下来的70个基础知识讲解,弄明白后这些问题后,软件测试入门也基本掌握了.本篇共分 ...

  3. 软件测试基础知识面试题目(25题英文题目)

    软件测试基础知识面试题目(25题英文题目) 1. Verification is:  a. Checking that we are building the right system b. Chec ...

  4. fiddler模拟服务器响应,2020军队文职计算机知识:【软件测试基础知识】如何使用fiddler模拟接口服务器...

    [导语]2020军队文职计算机知识:[软件测试基础知识]如何使用fiddler模拟接口服务器已发布,为助力各位考生做好2020年军队文职招聘考试准备,中公部队文职考试网提供了军队文职专业科目和综合辅导 ...

  5. 【软考软件评测师】软件测试基础知识

    [软考软件评测师]软件测试基础知识 软件测试基础知识 [软考软件评测师]软件测试基础知识 一. 软件测试的概念 1)软件测试定义的发展 2)软件测试的目的 3)软件测试的对象 4)对于测试组织者和实施 ...

  6. 软件测试基础知识——适合初学者

    软件测试基本概念 1.软件=程序+文档,软件测试=程序测试+文档测试. "程序"是指能够实现某种功能的指令的集合,"文档"是指软件在开发.使用和维护过程中产生的 ...

  7. 软件测试基础知识【归纳】

    (一)软件测试的定义 在规定的条件下对程序进行操作,以发现程序的错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程. 1 规定条件 --> 测试用例 2 发现程序的错误 --> 找 ...

  8. 01.软件测试基础知识整合

    软件测试基础 前言 一.什么是软件测试 二.软件测试的目的 三.软件测试的基本流程 四.测试分类 五.测试用例 1.什么是测试用例 2.测试用例的重要性 3.测试用例的设计方法 4.测试点分析 5.如 ...

  9. 软件测试基础知识总结(一)

    第一部分:软件评测知识 1.  软件质量与软件测试 软件测试:在规定条件下对程序进行操作,以发现错误,对软件质量进行评估,包括对软件形成过程的文档.数据以及程序进行测试 软件质量:软件特性的总和,软件 ...

  10. 软件测试基础知识-问答

    说明:本文以问答方式组织,分享一些软件测试的基础知识(有部分可能来自网络).如有不正确之处请指出,共同学习. 什么是软件测试? 答:依据软件需求规格和测试用例,使用人工和自动化的手段,来测试软件系统的 ...

最新文章

  1. 16岁日本神童打造日版「健康码」,追踪用户行动数据抗击疫情
  2. [vue] prop验证的type类型有哪几种?
  3. 如何理解面向对象建模语言UML?
  4. apicloud模块和html,APICloud教程
  5. 云原生时代的 YAML 教程
  6. 创建5个组,然后把30个用户分别加入到5个组中
  7. 蓝桥杯真题 杨辉三角形 C++
  8. linux系统可安装博途吗,安装博途V14是在什么系统下?
  9. u2 接口 服务器硬盘,M.2、U.2谁更好?主流硬盘接口都有哪些?
  10. 黑马python24期课件和代码_黑马Python 24期全套教程
  11. JAVA中InputStream转base64
  12. MySQL的需求分析怎么写_MySQL 数据库设计 笔记与总结(1)需求分析
  13. 数据科学技术与应用——第2章 多维数据结构与运算
  14. amd cpu排行_目前cpu排行榜(2020cpu性能排名对比)
  15. 物联网技术发展前景_3种推动物联网发展的技术
  16. nvarchar 和varchar区别
  17. 服务器运维-vanish
  18. 谈一谈第一代5G手机的射频设计
  19. 【Python网络爬虫】百度贴吧/豆瓣小组
  20. 【专家访谈】测试专家 陈林钧 访谈记录整理汇总

热门文章

  1. 第四周.直播.03.论文带读+GAT
  2. java minma_Java Core.minMaxLoc方法代码示例
  3. Java开发常用软件列表——持续更新
  4. const int, const int const, 和 int const 的区别
  5. 一文读懂区块链与大数据的关系
  6. windows挂载webdav
  7. CSP题目:小明种苹果树
  8. excel表格怎么调整行高和列宽_Excel 表格技巧—一键调整行高列宽的方法
  9. 使用HTML+CSS制作一个简单的网页
  10. s:checkboxlist 选中