软件测试实验过程记录
软件测试
题目1
电话号码问题 某城市电话号码由三部分组成。它们的名称和内容分别是: (1)地区码:空白或三位数字; (2)前 缀:非’0’或’1’的三位数字; (3)后 缀:4 位数字。 假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。根据该 程序的规格说明,作等价类的划分,并设计测试方案。
输入 | 有效等价类 | 无效等价类 |
---|---|---|
地区码 | ①空白 ②三位数字 | ③字母 ④标点符号等特殊字符 ⑤ 超过三位的数字⑥大于0小于3的数字 |
前缀 | ⑦非0或1的三位数字 | ⑧三位0或者三位1 ⑨字母⑩标点符号等特殊字符⑪小于三位的数字⑫大于三位的数字 |
后缀 | ⑬四位数字 | ⑭小于四位的数字⑮字母等特殊符号⑯大于四位的数字 |
测试方案
覆盖的等价类 | 地区码 | 前缀 | 后缀 | 预期结果 |
---|---|---|---|---|
① ⑦⑬ | 空白 | 123 | 4567 | 正确 |
② ⑦⑬ | 234 | 123 | 4567 | 正确 |
③ | asd | 123 | 4567 | 错误 |
④ | -#¥ | 000 | 4567 | 错误 |
⑤ | 1234 | 123 | 4567 | 错误 |
⑥ | 12 | 123 | 4567 | 错误 |
⑧ | 213 | 000 | 4567 | 错误 |
⑨ | 213 | asdsad | 4567 | 错误 |
⑩ | 213 | @$ | 4567 | 错误 |
⑪ | 213 | 12 | 4567 | 错误 |
⑫ | 213 | 12345 | 4567 | 错误 |
⑭ | 213 | 12345 | 123 | 错误 |
⑮ | 213 | 12345 | asd#$% | 错误 |
⑯ | 213 | 12345 | 45673445 | 错误 |
题目2
题目二:三角形问题 根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。 一个程序读入三个整数。把此三个数值看成是一个三角形的三个边。这个程序要打印出信息, 说明不是三角形、三角形是三边不等的、是等腰的、还是等边的。
输入 | 有效等价类 | 无效等价类 |
---|---|---|
a,b,c | ①a=b=c ②a+b>c&&a+c>b&&b+c>a ③ a!=b&&b!=c&&a!=c ④a==b&&b!=c or a==c &b!=c or b==c&&b!=a | ⑤ 输入的是小数⑥输入是字母或者符号 ⑦a+b<=c or b+c <=a or c+b<=a |
测试用例
覆盖的等价类 | a | b | c | 预期结果 |
---|---|---|---|---|
① ② | 2 | 2 | 2 | 等边三角形 |
②④ | 1 | 2 | 2 | 等腰三角形 |
②③ | 2 | 3 | 4 | 三边不等三角形 |
⑤ | 2.3 | 2 | 3 | 输入错误 |
⑥ | ¥ | sd | 4 | 输入错误 |
⑦ | 1 | 2 | 3 | 边长度输入错误 |
题目3
日期问题 用决策表测试法测试以下程序:该程序有三个输入变量month、day、year(month 、 day 和year 均为整数值,并且满足:1≤month≤12 和1≤day≤31),分别作为输入日期的月份、日、年份,通过程序 可以输出该输入日期在日历上隔一天的日期。例如,输入为 2004 年11 月29 日,则该程序的输出为 2004 年12 月1 日。 (1) 分析各种输入情况,列出为输入变量 month 、 day 、 year 划分的有效等价类。 (2) 分析程序的规格说明,并结合以上等价类划分的情况,给出问题规定的可能采取的操作(即 列出所有的动作桩)。 (3) 根据 (1) 和 (2) ,画出简化后的决策表。
输入 | 有效等价类 | 无效等价类 |
---|---|---|
year | ①1900<=year<=10000 | ②字母③标点符号等特殊字符 ④小于0的数字⑤不为整数 |
month | ⑥ 1<=month<=12 | ⑦小于0的数字 ⑧字母标点符号等特殊字符⑨大于12的数字⑩不为整数 |
day | 如果大月⑪1<=day<=31 如果小月:⑫1<=day<=30 如果闰年2月 1<=days<=29 如果平年 1<=days<=28 | ⑬小于1的数字⑭大月大于31的数字 小月大于30的数字,平年2月大于28的数字,闰年大于29的数字 ⑮字母等特殊字符 ⑯不为整数 |
动作桩:
- 提示 year输入错误
- 提示month输入错误
- 提示day输入错误
- 输出日期
决策表(判定表)
序号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|
条件 | year输入是否正确 | 1 | 0 | 1 | 1 | 0 | 1 |
month输入是否正确 | 1 | 1 | 0 | 1 | 0 | 0 | |
days输入是否正确 | 1 | 1 | 1 | 0 | 1 | 0 | |
动作 | 输出日期 | 1 | 0 | 0 | 0 | 0 | 0 |
提示year输出错误 | 0 | 1 | 0 | 0 | 1 | 0 | |
提示month输出错误 | 0 | 0 | 1 | 0 | 0 | 1 | |
提示day输出错误 | 0 | 0 | 0 | 1 | 0 | 0 |
题目四
生育津贴:生育津贴为女职工产假期间的工资,生育津贴低于本人工资标准的,差额部分由企业补足。(2)参加生育保险累计满一年的职工,在生育(流产)时仍在参保的,按有关规定享受生育保险待遇。(3)生育保险待遇生育津贴发放标准,以职工所在用人单位上年度职工月平均工资为基数按规定假期计发:(职工所在用人单位上年度职工月平均工资/30天 X假期天数)
假期天数:① 正常产假90天(包括产前检查15天);② 独生子女假增加35天;③ 晚育假增加15天;④ 难产假。剖腹产、Ⅲ度会阴破裂增加30天;吸引产、钳产、臀位产增加15天;⑤ 多胞胎生育假,每多生育一个婴儿增加15天;⑥ 流产假:怀孕不满2个月15天;怀孕不满4个月30天;满4个月以上(含4个月)至7个月以下42天;7个月以上遇死胎、死产和早产不成活75天;
设计测试用例
覆盖的等价类 | 假期天数 | 生育津贴 |
---|---|---|
① | 90 | 90/30 *月工资 |
①② | 125 | 125/30 *月工资 |
①③ | 105 | 105/30 *月工资 |
① ④难产 | 120 | 120/30 *月工资 |
① ④其他 | 105 | 105/30 *月工资 |
①②③ | 140 | 140/30 *月工资 |
①②④难产 | 155 | 155/30 *月工资 |
①②④其他 | 140 | 140/30 *月工资 |
①③⑤ | 105+15*(婴儿数-1) | 105+15*(婴儿数-1)/30 *月工资 |
①④⑤ | 120+15*(婴儿数-1) | 105+15*(婴儿数-1)/30 *月工资 |
①②③ ④ | 170 | 170/30 *月工资 |
①②③ ④⑤ | 170+15*(婴儿数-1) | 170+15*(婴儿数-1)/30 *月工资 |
⑥不满两个月 | 15 | 15/30 *月工资 |
⑥不满四个月 | 30 | 30/30 *月工资 |
⑥四个月以上七个月以下 | 42 | 42/30 *月工资 |
⑥七个月以上 | 75 | 75/30 *月工资 |
知识储备:
等价类测试用例的设计
1.无效等价类只能有一个 每个测试用例 且都要覆盖
2. 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;
3. 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止
条件桩,动作桩
- 条件桩 列出问题的所有条件
- 动作桩 列出可能针对问题所采取的动作 如正确打印内容,提示year出错,提示month出错
代码
测试日历
#encoding=utf-8
from sys import argv
from pymongo import mongo_client
from datetime import timedelta,datetime
s=raw_input()a=s.split(" ")
class OutboundsError(Exception):def __init__(self,errormsg):self.__errormsg=errormsgdef __str__(self):return self.__errormsg
Bigmonth=[1,3,5,7,8,10,12]
try:year=int(a[0])month=int(a[1])days=int(a[2])if year<1900 or year>=10000:raise OutboundsError("年份输入有误")if month<1 or month>=12:raise OutboundsError("月份输入错误")#判断闰年2月的日期if year%400==0 or year%4==0 and year%100!=0:if month==2 and days>29:raise OutboundsError("天数输入错误")elif month==2 and days>28:raise OutboundsError("天数输入错误")if month in Bigmonth and days>31:raise OutboundsError("天数输入错误")elif month not in Bigmonth and days>30:raise OutboundsError("天数输入错误")days=datetime(year,month,days)afterday=days+timedelta(days=2)print "{} {} {}".format(afterday.year,afterday.month,afterday.day)except IndexError as e:print("输入格式错误")except ValueError as e:print("输入信息错误")except OutboundsError as e1:print(e1)
测试三角形
import java.util.Scanner;public class first {public static void main(String[] args) {try {Scanner sc=new Scanner(System.in);String abc= sc.nextLine();String sd[]=abc.split(" ");int a=Integer.parseInt(sd[0]);int b=Integer.parseInt(sd[1]);int c=Integer.parseInt(sd[2]);if (a<0||b<0||c<0){System.out.println("输入错误");System.exit(1);}else if (a+b<=c||a+c<=b||b+c<=a)System.out.println("输入的三条边长度不符合要求");else if (a==b&&b==c)System.out.println("等边三角形");else if (a!=b&&b!=c&&a!=c)System.out.println("三角形三边都不相等");else System.out.println("等腰三角形");}catch (Exception e){System.out.println("输入错误");System.out.println(e);}}
}
软件测试实验过程记录相关推荐
- Vertica集群扩容实验过程记录
需求: 将3个节点的Vertica集群扩容,额外增加3个节点,即扩展到6个节点的Vertica集群. 实验环境: RHEL 6.5 + Vertica 7.2.2-2 步骤: 1.三节点Vertica ...
- HRSC2016舰船检测训练实验过程记录
博主目前正尝试使用HRSC2016图片1000张多左右,每张舰船约1-3只,分辨率为 1182*827 用以finetune textboxes++,实现任意方向的目标的检测 训练过程参考: 利用ca ...
- 黑龙江大学软件测试实验报告
软件测试 实 验 指 导 书 黑龙江大学软件学院 实验要求 在<软件测试>的课程实验过程中,要求学生做到: (1)预习相关理论. (2)仔细阅读实验内容提纲,记录测试中所遇到的主要问题, ...
- 软件测试质量过程检测文档_如何编写实际上有效的质量检查文档
软件测试质量过程检测文档 A software product is like an airplane: it must undergo a technical check before launch ...
- 脑电实验注意事项及实验过程中伪迹识别
点击上面"脑机接口社区"关注我们 更多技术干货第一时间送达 Rose分享一篇群友 Tina关于脑电实验的学习笔记,感谢脑机社区群友Tina的分享. 实验前准备 1.填写被试信息及知 ...
- tensorflow 实验过程可重复
在做科研时使用tensorflow作为算法开发工具.后来有了更好用的pytorch之后,由于很多基础代码都是用tensorflow编写的,所以,就没有转到pytorch上来. 最近在写论文,比较重视算 ...
- 一卡通(M1卡)破解过程记录——理论篇
前些日子在研究学校的一卡通安全,在此记录一下一卡通破解的全过程,仅用作学习交流,切勿用于违法用途 其他几篇: 一卡通(M1卡)破解过程记录--准备篇 获取扇区密钥 ...
- kali实验过程与结果讲解
kali实验过程与结果讲解(学习) 前期准备:打开虚拟机,开启完毕后会显示服务器的ip 1. 收集此服务器的信息. 1) 开放的端口及服务 nmap 192.168.100.100 通过命令查看目标I ...
- Lab1实验过程及心得体会
实验过程 1 Magic Squares 检验矩阵是否是幻方矩阵.首先要检验文本中输入数据是否满足规范(包括是否构成方阵.是否按要求将数据以制表符隔开.是否包含小数和负数.是否有非法字符等),在满足规 ...
最新文章
- 听说微软出了个 Windows XP reStart Edition? 重启版?
- 30. 多线程编程之threading模块
- Docker-compose 安装配置 Nginx PHP MySQL Laravel
- 牛客网SQL篇刷题篇(16-23)
- vscode中如何创新建php文件,php – 如何在Visual Studio Code,UNIX中的所有文件中创建所有行结尾(EOL)?...
- 今日宜发布融资消息:明略、智行者、Video++分获BAT投资
- docker安装vim
- 周志华机器学习西瓜书速记第一章绪论
- vim配置IDE,下载压缩包即拥有轻巧且强大的文本编辑器
- springboot项目控制层的接口注入报错
- 硕士学位论文多级标题编号与图表编号
- Java的基本语法^_^
- 远程桌面连接命令“Mstsc”,Windows系统连接远程方法
- 经典BBS语录100条
- 2016年全国高中数学联合竞赛试题及详细解答
- centos8更换软件源
- 【day08~10】Java面向对象基础认识
- 交易系统订单存在的意义
- Spring MVC : HandlerMappingIntrospector
- 【四级英语单词·LIST1】 B站网课笔记 新东方四级词汇词根+联想记忆法 乱序版