这一篇文章了解软件测试基础知识

软件测试基础知识

一、课程介绍

1.1 课程知识点

软件测试基础知识

测试流程

测试方法

测试用例设计

bug管理

二、课程内容

2.1 软件测试基础知识

2.1.1 软件测试分类

按测试技术分类

按测试技术,软件测试可分为:黑盒测试、白盒测试、灰盒测试

黑盒测试:即功能测试,测试人员不必了解代码,只需要检查软件是否按照需求文档完成。

白盒测试:测试人员需要了解代码程序结构和处理过程,按照代码逻辑进行测试,比如接口测试。

灰盒测试:介于黑盒和白盒之间的测试,既要像黑盒测试关注功能的正确性,也要对代码结构有一定的了解。

按测试方式分类
按测试方式,软件测试分为:静态测试、动态测试

静态测试:即需求文档下发到手以后,完成测试用例以前对需求文档进行检查的过程。

动态测试:具体的测试过程,需要对软件进行运行。

按测试阶段分类?
按测试阶段,软件测试分为:单元测试、集成测试、系统测试、验收测试

单元测试:对代码的最小单元——模块进行正确性的验证工作。验证代码在语法、逻辑上的正确性。

集成测试:即将各个单元组装到一起以后进行的测试,以此来验证接口之间的调用是否正确。

系统测试:将已经开发好的软件放到测试环境进行测试,验证功能、UI、逻辑等正确性。

验收测试:测试的最后一轮,类似回归测试,即将软件的整体功能执行一遍,它不像系统测试那样细致,主要进行的是正向的测试流程。比如产品上线以后会在线上进行测试,而在线上测试的时候主要进行的是正向流程的测试。

按软件质量特性分类
按软件质量特性,软件测试分为:功能测试、安全测试、性能测试、压力测试、兼容性测试

每个分类都可以单独作为一个岗位存在,比如安全测试、性能测试。

2.1.2 测试流程
在这里插入图片描述

缺陷管理流程
在这里插入图片描述
2.1.3 测试方法

常用的测试方法包括:等价类、边界值、正交排列、因果图、场景法。

等价类

适用场合: 有数据输入的地方,可以使用等价类划分,将大量的数据划分出若干范围,从每个范围中挑选代表数据进行测试,避免穷举,提高测试效率.

等价类方法划分:有效等价类,无效等价类 有效等价类:输入有意义,合理的数据集合; 无效等价类:输入无意义的,不合理的数据集合;

等价类划分法使用步骤:1.分析需求划分等价类(分为初步划分和细化);2.将等价类填写到<<等价类表>>中;3.从每个等价类中至少挑选一个代表数据,编写测试用例,执行测试

边界值

适用场合:常用于数据输入的地方,一般作为等价类划分的补充,和等价类划分一起使用
使用步骤:找到有效数据和无效数据之间的分界点,对分界点及其两边的点进行测试.
使用等价类+边界值测试的思路:A.先对有效数据进行测试- 1个测试用例尽可能的将多个控件的有效数据组合起来测(优化)B.再对无效数据进行测试- 无效数据需要单独测试(为了避免屏蔽现象)C.最后对多个无效数据组合测试(适当强化)

因果图

适用场合: 界面中考虑控件的组合和限制关系的情况(组合数量较少)
因果图中常用的9个图形符号:恒等,与,或,非;互斥(E),唯一(O),包含(I),要求®,屏蔽(M);

使用步骤:

找出输入条件的所有组合和限制.
编写测试用例,每一列对应一条测试用例.
每组输入条件组合对应的输出结果,画因果图,填判定表(画因果图可以省略)
找出所有的输入条件(因),和所有的输出结果(果);

场景法

适用场合:当需要测试软件的业务流程(逻辑)时,适合用场景法,场景法是基于业务的方法,有测试人员模拟用户在使用软件的各种不同的情况;
场景法划分:基本流和备选流基本流:也叫有效流或正确流,模拟用户正确的操作的过程;备选流:也叫无效流或错误流,模拟用户错误的操作的情景;

场景法的使用步骤:

根据列出场景填写场景表;
为每个场景编写适当的测试用例(不一定是1:1的)
分析需求,整理业务流程(逻辑),列出场景;
正交排列
适用场合:对于参数配置类软件,以及兼容性测试时需要考虑各个控件之间的组合情况(组合较多),使用正交排列法选择较少的组合达到最佳的测试效果.

使用步骤:

选择合适的正交表(确定 m = 控件取值个数, k = 控件数)
编写测试用例
完成控件,控件取值对应因子和状态的映射.
分析需求,列出参与组合的控件以及每个控件的取值

2.1.4 测试用例设计

测试用例
所谓“测试用例”即测试执行流程的文档表述。测试用例包括:用例编号、功能模块、测试功能点、前置条件、操作场景及步骤、预期结果、测试结果、优先级。

2.1.5 bug管理

jira、tapd等bug管理工具。
在这里插入图片描述
上面是我收集的一些视频资源,在这个过程中帮到了我很多。如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们扣扣群【313782132 】,里面有各种软件测试资源和技术讨论。
在这里插入图片描述

更多好文分享:

什么样的人适合从事软件测试工作?

余生,不回头,不浪费,不将就

慢谈软件测试行业现状

难道软件测试真的干到35就干不动了吗?

原来功能测试转成自动化测试这么简单?

见识了解python自动化测试(3)

经得起命运敲打的人,才是真正的人生赢家

关于软件测试!你想知道的都在这里了,小白必看!

python自动化测试实例—保险测试场景中的应用

软件测试简历制作技巧与方法

软件测试是IT相关行业中最容易入门的学科~不需要开发人员烧脑的逻辑思维、不需要运维人员24小时的随时待命,需要的是细心认真的态度和IT相关知识点广度的了解,每个测试人员从入行到成为专业大牛的成长路线可划分为:软件测试、自动化测试、测试开发工程师 3个阶段。

在这里我向大家推荐一个架构学习交流群。交流学习群号:313782132 里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。