电子科大软件测试~第一次作业

第一次作业及参考答案

第一题

针对电子科技大学信息门户的“密码找回”界面的邮箱输入域进行验证, 采用等价划分法设计相应的测试用例,包括尽量多的无效等价类。

答:

有效等价类如下:

(1)邮箱输入学符串格式***@uestc.edu.cn***@UESTC.EDU.CN(*为字母或数字)

无效等价类:

(2)*中带有非字母或数字的其它字符

(3)邮箱输入的字符串中缺少’@'字符

(4)邮箱输入的字符串中有两个或多个’@'字符

(5)邮箱输入字符串中’@'字符后不是标准的域名字段

测试用例:

测试用例编号测试用例覆盖等价类
1example@uestc.edu.cn(1)
2#example@uestc.edu.cn(2)
3exampleuestc.edu.cn(3)
4example@@uestc.edu.cn(4)
5example@domaincom(5)

第二题

综合运用边界值方法和等价类方法,针对三角形问题设计相应的测试用例。假定输入三个整数(a、b、c)作为边,分别满足一般三角形、等腰三角形和等边三角形。

1)判断一般三角形的有效等价类是什么? 判断一般三角形的无效等价类是什么?

2)判断等腰三角形的有效等价类是什么? 判断等腰三角形的无效等价类是什么?

3)判断等边三角形的有效等价类是什么? 判断等边三角形的无效等价类是什么?

答:

三角形判断条件如下:

1)三角形的边长均大于0

2)构成一般三角形的条件:任意两边之和大于第三边

3)构成等腰三角形的条件:任意两边相等

4)构成等腰三角形的条件:三条边都相等

(1)判断一般三角形的有效等价类与边界值规则设计:

(a≥0)∧(b≥0)∧(c≥0)∧((a+b)>c)∧((a+c)>b)∧((b+c)>a)

判断一般三角形的无效等价类与边界值规则设计:

①(a≥0)∧(b≥0)∧(c≥0)∧(((a+b)≤c)∨((a+c)≤b)∨((b+c)≤a))

②(a≤0)∨(b≤0)∨(c≤0)

(2)判断等腰三角形的有效等价类与边界值规则设计:

(a≥0)∧(b≥0)∧(c≥0)∧((a+b)>c)∧((a+c)>b)∧((b+c)>a)∧((a=b)∨(b=c)∨(a=c))

判断等腰三角形的无效等价类与边界值规则设计:

①(a!=b)∧(b!=c)∧(c!=a)

②(a≤0)∨(b≤0)∨(c≤0)

(3)判断等边三角形的有效等价类与边界值规则设计:

(a≥0)∧(b≥0)∧(c≥0)∧((a+b)>c)∧((a+c)>b)∧((b+c)>a)∧(a=b=c)

判断等边三角形的无效等价类与边界值规则设计:

①(a!=b)

②(a≤0)∨(b≤0)∨(c≤0)

测试用例

测试用例编号测试用例输入(a,b,c)预期结果
1(5,6,8)一般三角形
2(5,6,5)等腰三角形
3(5,5,5)等边三角形
4(5,0,5)非三角形
5(2,2,5)非三角形

第三题

系统的年、月、日数据由Y、M、D单元来存储相应值,若要测试NextData(Y,M,D)函数,采用判定表方法设计相应的测试用例。

答:

被测函数功能:该程序输出为输入日期的下一个日期。

例如:输入为2023年4月2日,函数输出为2023年4月3日。

函数输入变量Y,M,D,均为正整数,并满足如下条件:

1)1900≤Y≤2100

2)1≤M≤12

3)1≤D≤31

4)能被 400 整除,或者能被4整除但不能 100 整除的部是闰年(366 天),其余的年份均为平年(365 天)

输入参数有效等价类无效等价类
Y1900≤Y≤2100,Y1闰年,Y2平年<1900,>2100,非正整数,其他符号
M1≤M≤12,M1{1,3,5,7,8,10},M2{4,6,9,11},M3{2},M4{12}<1,>12,非正整数,其他符号
D1≤D≤31,D1{1,27},D2{28},D3{29},D4{30},D5{31}<1,>31,D6,非正整数,其他符号

判定表设计:

结果:

1、year,month不变,day+1

2、year不变,month+1,day=1

3、year+1,month=1,day=1

4、错误的输入

用例123456789101112
YY1Y1Y1Y1Y1Y1Y1Y1Y1Y1Y1Y1
MM3M3M3M1M1M1M2M2M2M4M4M4
DD3D2,D1D4,D5D5D1,D2,D3,D4D6D4D5,D6D1,D2,D3D5D1,D2,D3,D4D6
1
2
3
4
用例131415161718192021222324
YY2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2Y2
MM3M3M3M1M1M1M2M2M2M4M4M4
DD2D1D3,D4,D5D5D1,D2,D3,D4D6D4D5,D6D1,D2,D3D5D5D6
1
2
3
4

测试用例如下:

用例序号YMD预期输出
12023412023,4,2
220233282023,3,29
320233292023,3,30
420233302023,3,31
520233312023,4,1
6202311282023,11,29
7202311292023,11,30
8202311302023,12,1
920231131错误
1020232282023,3,1
112023229错误
122023230错误
132023231错误
1420202282020,2,29
1520202292020,3,1
162020230错误
172020231错误
18202012282020,12,29
19202012292020,12,30
20202012302020,12,31
21202012312021,1,1

个人觉得以上判定表的设计比较复杂🥺,一般很难想到这么详细,我认为下面的判定表比较容易想到🤡

序号12345678
条件正确输入年YYYYYNNNN
条件正确输入月MYYNNYYNN
条件正确输入日DYNYNYNYN
动作函数运行成功
动作函数运行失败

测试用例表的话可以模仿参考答案书写✍

第四题

针对某机构人员管理的业务规则需求:

1)年薪制员工:严重过失,扣年终风险金的4%;过失,扣年终风险金的2%。

2)非年薪制员工:严重过失,扣当月薪资的8%;过失,扣当月薪资的4%。

请绘制出因果图和判定表,并给出相应的测试用例。

答:

  • 因果分析

    原因:

    C1:年薪制员工

    C3:严重过失

    C3:过失

    结果:

    e1:扣年终风险金的4%

    e2:扣年终风险金的2%

    e3:扣月薪资的8%

    e4:扣月薪资的4%

  • 因果图设计

在这里插入图片描述

  • 判定表设计

    序号12345678
    条件C1:年薪制员工11110000
    条件C3:严重过失11001100
    条件C3:过失10101010
    结果e1:扣年终风险金的4%
    结果e2:扣年终风险金的2%
    结果e3:扣月薪资的8%
    结果e4:扣月薪资的4%
    结果不操作
    结果不可能
  • 有效等价类测试用例

    用例输入数据预期输出
    TC1年薪制员工,严重过失扣年终风险金的4%
    TC2年薪制员工,过失扣年终风险金的2%
    TC3非年薪制员工,严重过失扣月薪资的8%
    TC4非年薪制员工,过失扣月薪资的4%

第五题

测试一个登录页面在不同浏览器和语言下的功能正确性,其输入条件如下:

1)输入项(账号、密码)

2)浏览器(IE、chrome、FireFox、360)

3)语言(中文、英文)

请问进行完整组合的兼容性测试需要多少个测试用例?采用成对组合的兼容性测试需要多少个测试用例?给出成对组合测试用例表。

答:

完整组合测试有2x2X4x2=32 个,成对组合测试需要8个测试用例

成对组合测试用例表

用例账号密码浏览器语言
1空值空值IE中文
2空值有值chrome英文
3有值空值FireFox中文
4有值有值360英文
5空值空值360中文
6空值有值FireFox英文
7有值空值chrome中文
8有值有值IE英文

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/258422.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

引入sortablejs插件实现表格列拖拽功能的封装

1 参考其他文章 VueElementUI 实现 动态调整表格列 显示隐藏&显示顺序 2 具体实现 2.1 将列拖拽功能封装到通用表格动态列组件里 关于表格动态列组件的具体代码&#xff0c;可以看我的另一篇博客&#xff1a;Vue - 基于Element UI封装一个表格动态列组件。 2.2 实现思…

linux中deadline调度原理与代码注释

简介 deadline调度是比rt调度更高优先级的调度&#xff0c;它没有依赖于优先级的概念&#xff0c;而是给了每个实时任务一定的调度时间&#xff0c;这样的好处是&#xff1a;使多个实时任务场景的时间分配更合理&#xff0c;不让一些实时任务因为优先级低而饿死。deadline调度…

openGauss学习笔记-165 openGauss 数据库运维-备份与恢复-导入数据-使用COPY FROM STDIN导入数据-通过本地文件导入导出数据

文章目录 openGauss学习笔记-165 openGauss 数据库运维-备份与恢复-导入数据-使用COPY FROM STDIN导入数据-通过本地文件导入导出数据165.1 示例1&#xff1a;通过本地文件导入导出数据 openGauss学习笔记-165 openGauss 数据库运维-备份与恢复-导入数据-使用COPY FROM STDIN导…

Hutool--DFA 敏感词工具类

使用hutool的dfa工具类可以很好的帮助我们来实现敏感词过滤的功能&#xff0c;下面从用例入手来逐步地去j简单了解一下dfa工具类。 字典树 DFA算法的核心是建立了以敏感词为基础的许多敏感词树&#xff08;字典树&#xff09;。 它的基本思想是基于状态转移来检索敏感词。 字…

C++复合数据类型:vector|string

文章目录 模板类vector初始化访问修改添加 标准库类型string初始化访问拼接比较字符串 模板类vector 初始化 访问 修改 添加 数组长度在初始化时已经定义&#xff0c;访问范围也有限&#xff0c;数组长度还得通过计算 所以C中定义了很多扩展的“抽象数据类型”&#xff0c…

深度学习 tensorflow基础介绍

深度学习是一种基于人工神经网络的机器学习方法&#xff0c;其目标是通过模仿人脑的结构和功能&#xff0c;实现对大量复杂数据的学习和理解。它可以在图像识别、语音识别、自然语言处理等领域取得惊人的成就。 深度学习的引入引出了TensorFlow&#xff0c;它是一个由Google Br…

go语言指针变量定义及说明

go语言指针主要需要记住两个特殊符号&#xff0c; 一个是 & 用来获取变量对应的内存地址 另一个是 * 用来获取指针对应的变量值 下面是个最简单的go语言指针说明 package mainimport "fmt"//指针为内存地址func main() {var a string "指针对应的变量&…

互联网中的商品超卖问题及其解决方案:Java中Redis结合UUID的应用

前言 在设计商品下单和库存扣减&#xff0c;你一定遇到过这样的问题&#xff0c;库存扣减为0了&#xff0c;可是消费者还能下单&#xff0c;并将订单信息保存到了数据库里&#xff0c;针对商品超卖问题&#xff0c;作此篇以解决。 随着互联网商业的飞速发展&#xff0c;商品超…

【OpenHarmony】下载指定时间点的代码

1、正常初始化 repo init -u gitgitee.com:openharmony/manifest.git -b master --no-repo-verify 2、获取tag点的manifest文件 在OpenHarmony的CI系统上&#xff0c;进入tag管理系统。http://ci.openharmony.cn/workbench/cicd/codecontrol/tagsystem找到自己所需的tag文件…

PyQt6 QFontDialog字体对话框控件

锋哥原创的PyQt6视频教程&#xff1a; 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计50条视频&#xff0c;包括&#xff1a;2024版 PyQt6 Python桌面开发 视频教程(无废话版…

钓鱼篇(上)

前言 钓鱼的核心主要还是思路要大胆。今天主要从一个完整的钓鱼流程进行讲解&#xff0c;记录下自己在学习这方面的知识时&#xff0c;如何将其有机结合起来&#xff0c;实现一个蓝队无感的钓鱼攻击流程&#xff0c;真正体验下如何从细节入手&#xff0c;将最危险的地方化为最…

LeetCode Hot100 51.N皇后

题目&#xff1a; 按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#xff0c;返回所有不同的 n 皇后问题 的…

LeetCode刷题--- 电话号码的字母组合

个人主页&#xff1a;元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏 力扣递归算法题 http://t.csdnimg.cn/yUl2I 【C】 http://t.csdnimg.cn/6AbpV 数据结构与算法 http://t.csdnimg.cn/hKh2l 前言&#xff1a;这个专栏主要讲述递归递归、搜…

Java Catching and Handling Exceptions(二)

一、Try with resources语句 try with resources语句是声明一个或多个资源的try语句。资源是程序使用完后必须关闭的对象。try with resources语句确保在语句末尾关闭每个资源。任何实现java.lang.AutoCloseable的对象&#xff08;包括实现java.io.Closeable的所有对象&#x…

探秘 AJAX:让网页变得更智能的异步技术(下)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

基于ssm计算机科学与技术学习网站的设计与开发论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本在校学习网站就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据信息&am…

【MySQL】Sql优化之索引的使用方式(145)

索引分类 1.单值索引 单的意思就是单列的值&#xff0c;比如说有一张数据库表&#xff0c;表内有三个字段&#xff0c;分别是 id name numberNo&#xff0c;我给name 这个字段加一个索引&#xff0c;这就是单值索引&#xff0c;因为只有name 这一列是索引&#xff1b; 一个表…

【SpringBoot篇】基于Redis实现生成全局唯一ID的方法

文章目录 &#x1f354;生成全局唯一ID&#x1f339;为什么要生成全局唯一id&#x1f33a;生成全局id的方法✨代码实现 &#x1f354;生成全局唯一ID 是一种在分布式系统下用来生成全局唯一id的工具 在项目中生成全局唯一ID有很多好处&#xff0c;其中包括&#xff1a; 数据…

k8s集群1.23.0版本部署说明

1.部署 k8s1.23.0版本与1.26.0版本的部署基本差不多&#xff0c;只不过k8s 1.23版本不需要部署cri-docker&#xff0c;所以只需要在1.26.0版本部署的基础上不要cri-docker的部署即可 参考&#xff1a;kubeadm部署k8s 1.26.0版本高可用集群_kubeadm 高可用集群-CSDN博客 搭建…