如何做好测试?(三)功能测试 (Functional Testing, FT)
1. 功能测试的详细介绍:
功能测试 (Functional Testing, FT),是一种软件测试方法,旨在验证系统的功能是否按照需求规格说明书或用户期望的方式正常工作。它关注系统的整体行为,以确保各个功能模块和组件之间的交互和集成正确。
2. 使用场景:
功能测试适用于以下情况:
- 对于网上购物系统的网页端和移动端,可以通过功能测试验证每个页面、模块和功能的正常工作。
- 功能测试可以模拟用户的实际使用场景,确保系统在各种情况下都能正确响应和处理用户的操作。
- 它有助于发现和修复功能缺陷,以提供用户满意的购物体验。
3. 常见技术和工具:
在进行网上购物系统的功能测试时,可以使用以下常见的技术和工具:
- 测试自动化框架:例如Selenium、Appium等,用于自动化执行网页端和移动端的功能测试。
- 手动测试工具:例如浏览器开发者工具、移动设备模拟器等,用于手动执行功能测试并检查页面和功能的状态。
- 数据驱动测试:使用测试数据驱动测试用例的执行,以覆盖不同的测试情况和数据组合。
4. 具体实施方法:
以下是功能测试的一般实施方法:
- 需求分析: 理解系统的功能需求和用户期望,以确定功能测试的范围和重点。
- 测试计划: 制定功能测试计划,包括测试目标、测试范围、测试环境、测试数据等。
- 测试用例设计: 根据功能需求和用户场景,设计功能测试用例,包括输入操作、预期结果、边界条件等。
- 测试环境准备: 搭建适合的测试环境,包括网页端和移动端的浏览器、设备、数据库等。
- 执行功能测试: 执行设计的功能测试用例,包括手动测试和自动化测试,记录实际结果。
- 问题管理: 对于发现的功能缺陷或异常情况,记录并跟踪问题,确保问题及时修复。
- 测试报告: 生成功能测试报告,包括测试结果、问题统计、测试覆盖率等信息。
5. 测试用例设计举例:
以下是三个示例的功能测试用例设计,针对网上购物系统中的某个功能模块。
5.1. 测试用例1:
- 测试用例名称:
add_to_cart_test
- 测试目标:验证将商品添加到购物车的功能是否正常工作。
- 测试前提条件:用户已登录,商品详情页面已打开。
- 测试步骤:
- 在商品详情页面点击“添加到购物车”按钮。
- 检查购物车页面是否显示添加的商品信息。
- 预期结果:预期商品成功添加到购物车,购物车页面显示添加的商品信息。
- 实际结果:记录购物车页面显示的实际商品信息。
- 测试结果判断:比较实际商品信息与预期结果是否一致。
- 备注:可以考虑添加多个商品、添加已存在的商品等不同情况。
5.2. 测试用例2:
- 测试用例名称:
checkout_process_test
- 测试目标:验证结账流程是否顺利进行。
- 测试前提条件:用户已登录,购物车中有商品。
- 测试步骤:
- 在购物车页面点击“去结账”按钮。
- 输入收货地址、支付方式等相关信息。
- 点击“确认支付”按钮。
- 预期结果:预期订单成功生成,跳转到订单确认页面。
- 实际结果:记录订单确认页面的实际信息。
- 测试结果判断:比较实际信息与预期结果是否一致,确保订单生成和页面跳转正确。
- 备注:可以考虑输入无效地址、选择无效支付方式等不同情况。
5.3. 测试用例3:
- 测试用例名称:
search_product_test
- 测试目标:验证商品搜索功能是否正常工作。
- 测试前提条件:用户已登录,进入网站首页。
- 测试步骤:
- 在搜索框中输入关键词,例如“手机”。
- 点击搜索按钮或按下回车键。
- 检查搜索结果页面是否显示符合关键词的商品列表。
- 预期结果:预期搜索结果页面显示包含关键词“手机”的商品列表。
- 实际结果:记录搜索结果页面显示的实际商品列表。
- 测试结果判断:比较实际商品列表与预期结果是否一致。
- 备注:可以考虑输入无效关键词、搜索结果为空等不同情况。
相关文章:
如何做好测试?(三)功能测试 (Functional Testing, FT)
1. 功能测试的详细介绍: 功能测试 (Functional Testing, FT),是一种软件测试方法,旨在验证系统的功能是否按照需求规格说明书或用户期望的方式正常工作。它关注系统的整体行为,以确保各个功能模块和组件之间的交互和集成正确。 …...
Ubuntu-Server-22.04安装桌面+VNC
前提:Ubuntu Server安装好后,ubantu其他版本是否适用这里未知,欢迎大佬们前来评论 一、默认没有图形界面,有时觉得用图形界面操作更简单直接,于是用如下命令安装: 1.更新本地环境 sudo apt-get update s…...
职业规划,什么是职业兴趣 - 我喜欢做什么?
能够在工作岗位上面做出成绩的人,都是结合自身兴趣,对职业进行合理规划的那一类。尤其是步入中年以后,能够创造出巨大价值的人,无一例外都是喜欢自己职业的人。没有将兴趣融入工作的人,只能够忍受默默无闻地活着&#…...
基于Java的高校学生党员发展流程管理系统设计与实现(源码+lw+部署文档+讲解等)
文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…...
【NLP的python库(03/4) 】: 全面概述
一、说明 Python 对自然语言处理库有丰富的支持。从文本处理、标记化文本并确定其引理开始,到句法分析、解析文本并分配句法角色,再到语义处理,例如识别命名实体、情感分析和文档分类,一切都由至少一个库提供。那么,你…...
面试理论篇三
关于异常机制篇 异常描述 目录 关于异常机制篇异常描述 注:自用 1,Java中的异常分为哪几类?各自的特点是什么? Java中的异常 可以分为 可查异常(Checked Exception)、运行时异常(Runtime Exception) 和 错误(Error)三类。可查异…...
ShardingSphere|shardingJDBC - 在使用数据分片功能情况下无法配置读写分离
问题场景: 最近在学习ShardingSphere,跟着教程一步步做shardingJDBC,但是想在开启数据分片的时候还能使用读写分离,一直失败,开始是一直能读写分离,但是分偏见规则感觉不生效,一直好像是走不进去…...
char s1[len + 1]; 报错说需要常量?
在C中,字符数组的大小必须是常量表达式,不能使用变量 len 作为数组大小。为了解决这个问题,你可以使用 new 运算符动态分配字符数组的内存,但在使用完后需要手动释放。 还有啥是只能这样的,还是说所有的动态都需要new&…...
【Linux】CentOS-6.8超详细安装教程
文章目录 1.CentOS介绍:2.必要准备:3.创建虚拟机:4 .安装系统 1.CentOS介绍: CentOS是一种基于开放源代码的Linux操作系统,它以其稳定性、安全性和可靠性而闻名,它有以下特点: 开源性࿱…...
【Java 进阶篇】MySQL启动与关闭、目录结构以及 SQL 相关概念
MySQL 服务启动与关闭 MySQL是一个常用的关系型数据库管理系统,通过启动和关闭MySQL服务,可以控制数据库的运行状态。本节将介绍如何在Windows和Linux系统上启动和关闭MySQL服务。 在Windows上启动和关闭MySQL服务 启动MySQL服务 在Windows上&#x…...
Android 11.0 mt6771新增分区功能实现一
1.前言 在11.0的系统开发中,在对某些特殊模块中关于数据的存储方面等需要新增分区来保存, 所以就需要在系统分区新增分区,接下来就来实现这个功能 2.mt6771新增分区功能实现一的核心类 build/make/core/Makefile build/make/core/board_config.mk build/make/core/config…...
LiveData简单使用
1.LiveData是基于观察者模式,可以用于处理消息的订阅分发的组件。 LiveData组件有以下特性: 1) 可以感知Activity、Fragment生命周期变化,因为他把自己注册成LifecycleObserver。 2) LiveData可以注册多个观察者,只有数据…...
手动实现Transformer
Transformer和BERT可谓是LLM的基础模型,彻底搞懂极其必要。Transformer最初设想是作为文本翻译模型使用的,而BERT模型构建使用了Transformer的部分组件,如果理解了Transformer,则能很轻松地理解BERT。 一.Transformer模型架构 1…...
leetcode456 132 Pattern
给定数组,找到 i < j < k i < j < k i<j<k,使得 n u m s [ i ] < n u m s [ k ] < n u m s [ j ] nums[i] < nums[k] < nums[j] nums[i]<nums[k]<nums[j] 最开始肯定想着三重循环,时间复杂度 O ( n 3 )…...
WordPress外贸建站Astra免费版教程指南(2023)
在WordPress的外贸建站主题中,有许多备受欢迎的主题,如AAvada、Astra、Hello、Kadence等最佳WordPress外贸主题,它们都能满足建站需求并在市场上广受认可。然而,今天我要介绍的是一个不断颠覆建站人员思维的黑马——Astra主题。 …...
Vue之ElementUI实现登陆及注册
目录 编辑 前言 一、ElementUI简介 1. 什么是ElementUI 2. 使用ElementUI的优势 3. ElementUI的应用场景 二、登陆注册前端界面开发 1. 修改端口号 2. 下载ElementUI所需的js依赖 2.1 添加Element-UI模块 2.2 导入Element-UI模块 2.3 测试Element-UI是否能用 3.编…...
网络代理的多面应用:保障隐私、增强安全和数据获取
随着互联网的发展,网络代理在网络安全、隐私保护和数据获取方面变得日益重要。本文将深入探讨网络代理的多面应用,特别关注代理如何保障隐私、增强安全性以及为数据获取提供支持。 1. 代理服务器的基本原理 代理服务器是一种位于客户端和目标服务器之间…...
字节一面:深拷贝浅拷贝的区别?如何实现一个深拷贝?
前言 最近博主在字节面试中遇到这样一个面试题,这个问题也是前端面试的高频问题,我们经常需要对后端返回的数据进行处理才能渲染到页面上,一般我们会讲数据进行拷贝,在副本对象里进行处理,以免玷污原始数据,…...
协议-TCP协议-基础概念02-TCP握手被拒绝-内核参数-指数退避原则-TCP窗口-TCP重传
协议-TCP协议-基础概念02-TCP握手被拒绝-TCP窗口 参考来源: 《极客专栏-网络排查案例课》 TCP连接都是TCP协议沟通的吗? 不是 如果服务端不想接受这次握手,它会怎么做呢? 内核参数中与TCP重试有关的参数(两个) -net.ipv4.tc…...
PDF文件压缩软件 PDF Squeezer mac中文版软件特点
PDF Squeezer mac是一款macOS平台上的PDF文件压缩软件,可以帮助用户快速地压缩PDF文件,从而减小文件大小,使其更容易共享、存储和传输。PDF Squeezer使用先进的压缩算法,可以在不影响文件质量的情况下减小文件大小。 PDF Squeezer…...
VS+Qt+opencascade三维绘图stp/step/igs/stl格式图形读取显示
程序示例精选 VSQtopencascade三维绘图stp/step/igs/stl格式图形读取显示 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对《VSQtopencascade三维绘图stp/step/igs/stl格式图形读取显示》编写…...
如何在Ubuntu中切换root用户和普通用户
问题 大家在新装Ubuntu之后,有没有发现自己进入不了root用户,su root后输入密码根本进入不了,这怎么回事呢? 打开Ubuntu命令终端; 输入命令:su root; 回车提示输入密码; 提示&…...
从零开始之了解电机及其控制(10)空间矢量理论
与一维数字转子位置不同,电流和电压都是二维的。可以在矩形笛卡尔平面中考虑这些尺寸。 用旋转角度和幅度来描述向量 虽然电流命令的幅度和施加的电压是进入控制器的误差项的函数,它们施加的角度是 d-q 轴方向的函数,因此也是转子位置的函数。…...
PSINS工具箱学习(一)下载安装初始化、SINS-GPS组合导航仿真、习惯约定与常用变量符号、数据导入转换、绘图显示
原始 Markdown文档、Visio流程图、XMind思维导图见:https://github.com/LiZhengXiao99/Navigation-Learning 文章目录 一、前言二、相关资源三、下载安装初始化1、下载PSINSyymmdd.rar工具箱文件2、解压文件3、初始化4、启动工具箱导览 四、习惯约定与常用变量符号1…...
国庆day1---消息队列实现进程之间通信方式代码,现象
snd: #include <myhead.h>#define ERR_MSG(msg) do{\fprintf(stderr,"__%d__:",__LINE__);\perror(msg);\ }while(0)typedef struct{ long msgtype; //消息类型char data[1024]; //消息正文 }Msg;#define SIZE sizeof(Msg)-sizeof(long)int main…...
wdb_2018_2nd_easyfmt
wdb_2018_2nd_easyfmt Arch: i386-32-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x8047000)32位只开了NX 这题get到一点小知识(看我exp就知道了 int __cdecl __noreturn main(int argc, const char…...
服务器数据恢复-zfs下raidz多块磁盘离线导致服务器崩溃的数据恢复案例
服务器数据恢复环境: 一台服务器共配备32块硬盘,组建了4组RAIDZ,Windows操作系统zfs文件系统。 服务器故障: 服务器在运行过程中突然崩溃,经过初步检测检测没有发现服务器存在物理故障,重启服务器后故障依…...
云服务器 CentOS7 操作系统上安装Jpress (Tomcat 部署项目)
1、xShell 和 xftp 下载安装(略) https://www.xshell.com/zh/free-for-home-school/2、xftp 连接云服务器 xftp 新建连接 3、JDK 压缩包下载 下载 jdk1.8 注:此处 CentOS7 是64位,所以下载的是:Linux x64…...
【Linux】完美解决ubuntu18.04下vi不能使用方向键和退格键
今天在刚安装完ubuntu18.04,发现在使用vi命令配置文件时使用方向键并不能移动光标,而是出现一堆奇怪的英文字母,使用退格键也不能正常地删除内容,用惯了CentOS的我已经感觉到ubuntu没有centos用着丝滑,但是没办法&…...
Android studio “Layout Inspector“工具在Android14 userdebug设备无法正常使用
背景描述 做rom开发的都知道,“Layout Inspector”和“Attach Debugger to Android Process”是studio里很好用的工具,可以用来查看布局、调试系统进程(比如setting、launcher、systemui)。 问题描述 最进刚开始一个Android 14…...
wordpress同步公众号/百度一下打开
在iBatis中 当用parameterMap作为ibatis映射输入参数时,要在ibatis的配置文件中作相应的声明。 但我们也可以不在ibatis映射文件中作声明,应用方法如下: ibatis映射文件sqlmap.xml中: <update id"update" parame…...
西安做网站选哪家公司/建站平台在线提交功能
本文实例讲述了python之wxPython的使用方法,分享给大家供大家参考。具体方法如下: 先来看看效果,这里加载一张图片:代码如下: #!/usr/bin/env python """hello wxPython program""" imp…...
毕业设计网站建设/360提交网站收录入口
「2019 Python开发者日」倒计时三天,请扫码咨询 ↑↑↑作者 | 雇个城管打天下,理工男一枚。南京大学软件工程系硕士,一个还在做着拥有十万读者梦的互联网新人,或许一篇文章无法获得你的关注,但突然梦想觉醒的我还在努力…...
网站如何横屏/石家庄seo网络优化的公司
master主机通过ssh远程连接slaves机子时出现下述错误 解决的方法: 一、删除/root/.ssh/下的kown_hosts文件 二、在master机子上又一次运行scp id_dsa.pub slaves:/root.ssh命令(在/root/.ssh文件夹下运行) 三、登录slaves机子。进入到root/.s…...
网站策划案怎么做/做百度推广的公司电话号码
MySQL Hash索引和B-Tree索引的区别究竟在哪里呢?相信很多人都有这样的疑问,下文对两者的区别进行了详细的分析,供您参考。 Mysql Hash索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-T…...
建设网站需要哪些人/网页设计代码
学习了一下费用流的做法,顺便学习了一下zkw(听说原始对偶是折中做法,这种没什么特点的就不学了),顺便研究了一下费用流的速度:(对于这题而言)upd抱歉我这个SLF优化写反了。。。然而反…...