当前位置: 首页 > news >正文

【软件质量与测试】实验四: 面向对象测试

一、实验目的

(1)掌握面向对象的MM路径测试方法

(2)了解基于log4j2打印测试路径的方法

二、实验环境(仪器设备、软件等)

log4j2、intellij

三、实验原理(或要求)

(1)需要编写测试用例

(2)按照测试用例进行测试并记录测试结果和测试路径,将测试结果与路径与预期结果进行比较,记录并分析测试结果与测试路径

四、实验步骤

(1)将教材P180的伪代码编写为可运行的Java代码。

(2)基于MM路径测试方法编写测试用例,覆盖教材P186图6-6中的所有消息。

(3)使用JUnit进行测试,打印出测试路径,打印测试路径的方法选择

使用Log4j和Spring AOP打印出测试路径

五、记录与处理(实验数据、误差分析、结果分析)

(1)将教材P180的伪代码编写为可运行的Java代码。

代码如下:

CalendarUnit .java:

(2)基于MM路径测试方法编写测试用例,覆盖教材P186图6-6中的所有消息。

① 测试用例1:正常月份内的日期递增

输入:2015年6月15日

预期输出:2015年6月16日

覆盖消息:msg1,msg4,msg5,msg6,msg15,msg16,msg18,msg19,msg21,msg2,msg7,msg17,msg20,msg3,msg12,msg13,msg14

② 测试用例2:月末日期递增(非12月)

输入:2015年6月30日

预期输出:2015年7月1日

覆盖消息:包含测试用例1的所有消息、msg8 (Month.increment)、msg11 (setDay(1))

③测试用例3:12月31日递增

输入:2015年12月31日

预期输出:2016年1月1日

覆盖消息:

包含测试用例2的所有消息

msg9 (Year.increment)

msg10 (setMonth(1))

....

(3)使用JUnit进行测试,打印出测试路径,

JUnit测试实现(使用Log4j和AOP记录路径)

1.项目整体结构如下

2.在pom.xml中添加依赖:

配置log4j2.xml文件

3.实现测试类

CalendarTest.java

........

六、思考题

(1)与使用print语句或Log4j相比,使用Log4j和Spring AOP打印出测试路径有哪些好处?

....

七、实验小结

本次实验围绕面向对象测试展开,实现日历程序并运用MM路径测试方法,通过该实验我深入理解了面向对象程序的测试策略和日志记录技术。

八、源文件实验报告提取链接


通过网盘 分享的文件:
链接: https://pan.baidu.com/s/1grJ6ohwR_svNbvH2pk5igg?pwd=mj2u 提取码: mj2u

http://www.cnnetsun.cn/news/1945436.html

相关文章:

  • 3步搭建Windows AirPlay 2接收器:让Windows电脑变身苹果投屏中心
  • 2025届毕业生推荐的十大AI辅助写作助手解析与推荐
  • 2026届最火的AI学术网站实测分析
  • 5步解锁游戏手柄的全部潜力:用AntiMicroX让任何PC游戏完美适配手柄
  • 如何让Axure RP说中文:3分钟完成界面汉化的完整指南
  • [Spark] 图解Job、Stage、Task的生成逻辑与实战推演
  • 【离线部署实战】—— 攻克PyInstaller依赖地狱的完整指南
  • CANoe Panel控件实战:从开关到仪表盘的12种控件配置详解(附避坑指南)
  • 如何用InceptionTime实现时间序列分类的突破性性能
  • Vivado物理优化实战:如何用phys_opt_design命令提升时序性能(附完整Tcl脚本)
  • 如何用Hourglass倒计时器彻底改变你的时间管理方式:终极Windows时间管理工具完整指南
  • 如何在PC上玩Switch游戏:Ryujinx模拟器终极入门指南
  • 异构计算时代的安防底座:基于 Docker 的 X86/ARM 与 GPU/NPU 混合部署架构解析
  • 用OpenCV+ROS搞定无人机视觉定位:手把手教你配置vision_to_mavros节点
  • 从PQ到WFQ:深入解析华为设备队列调度技术的演进与实战
  • 周红伟:雷军对得起营销大师吗?雷军回应被贴上“营销大师”标签:表面在夸我,实际在黑我,去年很长一段时间不愿直播
  • Cal.com 开源五年后转向闭源,只为保护客户数据安全!
  • 从二维照片到三维世界:MicMac摄影测量软件完全指南
  • 海思3516a OSD水印实战:从字体渲染到视频叠加全链路解析
  • Chrome for Testing API 架构深度解析:构建稳定自动化测试环境的技术实现
  • 企业级Java SMB/CIFS客户端库:jcifs-ng如何解决跨平台文件共享的核心痛点
  • Motrix WebExtension终极指南:如何快速提升浏览器下载效率300%
  • 台达PLC与三菱变频器Modbus通讯案例分享
  • yfinance进阶指南:如何用Python分析多只股票的基本面并生成对比报告
  • 5分钟终极指南:使用KMS_VL_ALL_AIO智能激活Windows和Office
  • Linux驱动开发实战:如何用DEVICE_ATTR和sysfs_create_group实现用户空间交互(附完整代码)
  • Cursor Pro完全免费激活终极指南:3步解锁无限AI编程体验
  • 逆向微信朋友圈!用Kotlin重写鲁班压缩算法的踩坑记录(附性能对比)
  • 【参数辨识实战】六轴机械臂最小惯性参数集推导与辨识(上篇)
  • 深入剖析 APK 逆向工程:动静态调试与 so 动态链接库解密实战