软件测试: 测试用例

简介: 软件测试: 测试用例

一. 软件测试四要素

测试环境,操作步骤,测试数据,预期结果

二. 基于需求进行测试用例的设计

基于需求设计测试用例是测试设计和开发测试用例的基础,第一步就要分析测试需求,验证需求是否正确,完整,无二义性,并且逻辑自洽.在需求正确的基础上细化测试需求,从测试需求提炼出一个个测试点或者测试项,然后根据每一个测试点进行测试用例的设计.


在分析需求是,一般分为功能测试需求和非功能测试需求

2.1 功能需求测试分析

对于功能测试中,可以借助功能框图帮助我们进行测试的需求分析.概括起来,功能测试需求包括以下,几个方面:

(1) 功能界面的验证

(2) 功能的一致性,交互性

(3) 用户操作的易用性

2.2 非功能需求测试分析

非功能测试需求分析主要涉及以下几方面:

(1) 兼容

(2) 性能

(3) 安全性

(4) 网络

(5) 易维护性

(6) 可移植性

例:

三. 黑盒测试

3.1 等价类

依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则任务所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题

3.2 边界值

边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

3.3 因果图法

因果图是一种简化了的逻辑图,能直观地表明程序输入条件(原因)和输出动作(结果)之间的相互关系。因果图法是借助图形来设计测试用例的一种系统方法,特别适用于被测试程序具有多种条件,程序的输入又依赖于条件的各种情况。


与:只有两个原因都为真,那么结果为真,例如:北京的姑娘必须车有房,我入赘


或:2个原因中有一个为真时,结果就为真。例如:北京的姑娘要有车或方,我入赘


非:只有原因为假,结果为真,例如:你不好好学习,找到好工作


恒等:如果原因为真,那么结果必定为真。例如:动物园运来大熊猫,动物园一定有大熊猫

3.4 正交表法

最简单的正交表是L(),含意如下:“L₃(2³)”代表正交表;L 下角的数字“3”表示有 3 横行,简称行,即要做三次试验;括号内的指数“3”表示有3 纵列,简称列,即最多允许安排的因素是3 个;括号内的数“2”表示表的主要部分只有2 种数字,即因素有两种水平1与2。


因素: 在一项实验中,所有要考察的变量称为因素


水平: 在实验范围内,因素被考察的值称为水平(变量的取值)


行数: 正交表中的行的个数,即实验的次数,用N代表.


水平数: 任何单个因素能够取得的值的最大个数


正交表的性质:


每一列中个数字出现的次数都一样多


任何两列中的各有序数对出现的次数都一样多.


如何通过正交表设计测试用例:


充分理解需求->确定因素,确定水平->画正交表->补充正交表->将正交表转换成测试用例

案例:


1.因素: 姓名, 邮箱,密码,确认密码,验证码


2. 水平: 填写,不填写


3. 创建表格,并将表格内容复制到txt文档中,


4. 生成正交表:先 cd D:\pairs 到allpairs所在路径,dir显示该目录下的所有目录,生成正交表并重命名allpairs.exe 20231026.txt > 20231026result.txt


5. 对正交表补充

3.5. 模拟弱网--Fildder

快捷方式: ctrl+F

在搜索栏里输入 BeforeRequest

3.6 接口测试

chrome 浏览器中开发者模式,若没有出现以下内容,crl + R

右键选中要测试的接口

选择copy as cURL ,将复制内容导入postman中

相关文章
|
6天前
|
测试技术 UED Python
探索软件测试的边界:自动化与手动测试的协同
【8月更文挑战第59天】在追求效率和质量的软件生产中,自动化测试与手动测试的辩论从未停止。本文将通过实际案例,揭示二者如何相辅相成,共同构建更健壮的软件测试体系。我们将深入探讨自动化测试的优势、手动测试不可替代的角色以及它们如何在实际项目中协同工作,旨在为读者提供一种平衡的视角来看待软件测试的实践。
99 65
|
5天前
|
机器学习/深度学习 人工智能 安全
软件测试中的探索性测试:一种高效发现软件缺陷的方法
本文将深入探讨软件测试中的一种关键方法——探索性测试。探索性测试是一种动态的、探索性的软件测试方法,它依赖于测试人员的直觉和经验,通过实际操作软件来发现潜在的问题和缺陷。与传统的基于预定义用例的测试方法相比,探索性测试更加灵活,能够更全面地覆盖软件的各个方面,从而更有效地发现难以预见的错误和漏洞。
|
11天前
|
测试技术 数据库连接 数据库
提升软件测试效率与灵活性:探索Mock测试的重要性
【9月更文挑战第20天】在软件测试领域,提升测试效率与灵活性至关重要。Mock 测试通过模拟外部组件,使模块能独立测试,缩短测试周期;快速反馈机制让测试结果即时可见,加速问题修复;还能模拟异常情况和进行参数化测试,增强测试全面性与灵活性,从而显著提高软件质量和开发效率。
|
12天前
|
监控 安全 测试技术
软件测试的艺术:探索式测试的魅力与实践
【9月更文挑战第21天】在软件开发的海洋中,测试是确保航行安全的灯塔。本文将带你领略探索式测试(Exploratory Testing)的独特魅力,这是一种强调个人技能和经验、鼓励即兴发挥的测试方式。我们将通过实际案例,探讨如何有效实施探索式测试,以及它如何与传统测试方法相辅相成,共同提升软件质量。
|
6天前
|
监控 中间件 测试技术
『软件测试5』测开岗只要求会黑白盒测试?NO!还要学会性能测试!
该文章指出软件测试工程师不仅需要掌握黑盒和白盒测试,还应该了解性能测试的重要性及其实现方法,包括负载测试、压力测试等多种性能测试类型及其在保证软件质量中的作用。
『软件测试5』测开岗只要求会黑白盒测试?NO!还要学会性能测试!
|
6天前
|
测试技术 程序员 C语言
『软件测试4』耗子尾汁!2021年了,你还不知道这4种白盒测试方法吗?
该文章深入介绍了四种常用的白盒测试方法,包括语句覆盖、判定覆盖、条件覆盖以及路径覆盖,并探讨了这些方法在软件测试中的应用。
『软件测试4』耗子尾汁!2021年了,你还不知道这4种白盒测试方法吗?
|
13天前
|
敏捷开发 Java jenkins
软件测试中的自动化测试实践指南
本篇文章深入探讨了软件测试中自动化测试的重要性、实施步骤以及面临的挑战。我们将从为什么需要自动化测试开始,逐步解析其基本概念、工具选择、脚本开发、执行与维护等关键环节。同时,还将分享一些成功案例和最佳实践,帮助读者更好地理解和应用自动化测试技术。无论您是软件测试新手还是经验丰富的测试工程师,相信本文都能为您提供有价值的参考和启示。
|
10天前
|
人工智能 算法 测试技术
软件测试中的人工智能:提升测试效率与质量
随着软件开发的快速发展,传统的手工测试方法已经无法满足现代软件项目的需求。本文探讨了人工智能在软件测试中的应用,如何通过自动化测试、智能缺陷分析和测试用例生成等技术,提高测试效率和质量。我们将详细介绍这些技术的原理和实际应用,并讨论其带来的优势和挑战。
|
8天前
|
测试技术 持续交付 UED
软件测试的艺术与科学:平衡创新与质量的探索在软件开发的波澜壮阔中,软件测试如同灯塔,指引着产品质量的方向。本文旨在深入探讨软件测试的核心价值,通过分析其在现代软件工程中的应用,揭示其背后的艺术性与科学性,并探讨如何在追求技术创新的同时确保产品的高质量标准。
软件测试不仅仅是技术活动,它融合了创造力和方法论,是软件开发过程中不可或缺的一环。本文首先概述了软件测试的重要性及其在项目生命周期中的角色,随后详细讨论了测试用例设计的创新方法、自动化测试的策略与挑战,以及如何通过持续集成/持续部署(CI/CD)流程优化产品质量。最后,文章强调了团队间沟通在确保测试有效性中的关键作用,并通过案例分析展示了这些原则在实践中的应用。
26 1
|
12天前
|
测试技术 UED
软件测试中的探索性测试:一种有效的缺陷检测方法
探索性测试,作为一种灵活且强大的软件测试技术,越来越受到测试人员的青睐。它不仅依赖于预定义的测试用例,而是依靠测试人员的经验和直觉,动态地探索软件以发现缺陷。本文将深入探讨探索性测试的核心概念、优势以及如何在现代软件测试中有效应用这一方法。通过具体实例和实践技巧,我们将揭示如何利用探索性测试提高软件质量和测试效率。
17 4
下一篇
无影云桌面