摘要: 一、 需求分析 1. 系统软件开发环境 l Windows10 64bit l 开发语言Python l IDE:visual studio 2. 用例图 该GUI主要完成两个功能即用户创建新游戏,利用电脑进行提示。用户按下新游戏按钮则生成一个新的数独迷局并将其显示,当用户陷入困境点击提示按钮时,会 阅读全文
posted @ 2020-01-19 11:03 LightningStar 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 开发环境 Windows10 版本号1903 VS2019 16.3.2 Intel vtune Profile 2020 Microsoft. CodeAnalysis. FxCopAnalyzers 2.9.8 测试覆盖率工具opencppcoverage RAM 16GB 3200MHz 三星 阅读全文
posted @ 2020-01-18 22:47 LightningStar 阅读(579) 评论(0) 推荐(0) 编辑
摘要: 测试环境 Windows10 64bit Intel VTune Profile AMD 2700x sudoku.exe -c 1000000 生成1e6的数据量运行状况如下。 总用时 最耗时函数 void copySudoku(const Sudoku& src, char* dst) { in 阅读全文
posted @ 2020-01-18 16:45 LightningStar 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 一、 运行代码分析 运行代码分析结果如下: 1> 已启动全部重新生成: 项目: suduku_without_gui, 配置: Release Win32 1>header.cpp 1>interpretor.cpp 1>SudokuChecker.cpp 1>SudokuMaker.cpp 1>S 阅读全文
posted @ 2020-01-18 09:32 LightningStar 阅读(1110) 评论(0) 推荐(0) 编辑
摘要: 一、 换行格式问题 在与同学进行测试的过程中发现,一个文件的换行格式可以有多种,即CRLF,CR,LF三种,而我在进行输入输出的时候使用ReadFile和WriteFile进行文件输入输出仅考虑了字符数为1的情况。在大多数情况下,Windows文件格式为CRLF,因此需要对文件进行判断。其中输出可以 阅读全文
posted @ 2020-01-18 08:48 LightningStar 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 一、 数独不重复测试 通过编写暴力算法,每次取1e4的数据量进行一一检查,发现有重复项。 观察输出发现,这是在交换行的过程中出现的错误。对交换行代码进行检查。 代码错误最终确认在SudokuMaker.cpp 中的void generateFullSwappedRowSudoku(int level 阅读全文
posted @ 2020-01-16 22:25 LightningStar 阅读(320) 评论(0) 推荐(0) 编辑
摘要: 性能分析测试 一、 开发环境 l Windows10 版本号1903 l RAM 16GB 3200MHz 三星 l AMD Ryzen 7 2700X 3.90GHz l SSD 三星 MZVLB1TOHALR-00000 二、 文件读入 在进行测试的过程中发现1e6的数据读入大概需要300秒,远 阅读全文
posted @ 2020-01-16 22:23 LightningStar 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 一、 开发环境 l Windows10 版本号1903 l RAM 16GB 3200MHz 三星 l AMD Ryzen 7 2700X 3.90GHz l SSD 三星 MZVLB1TOHALR-00000 二、 文件读入 在进行测试的过程中发现1e6的数据读入大概需要300秒,远远高于写入的6 阅读全文
posted @ 2020-01-16 16:31 LightningStar 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 数独生成算法测试 一、 正确性测试 1. 生成数独符合数独要求 保证每个生成的数独都是符合数独要求的。在debug模式下对生成的每一个数独进行检查,由于能力有限没有想到如何方便的通过GoogleTest进行测试,因此采用源代码进行测试,在代码中添加检查语句,并将数量设置为1e6,确保生成的最大1e6 阅读全文
posted @ 2020-01-16 15:41 LightningStar 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 数独检查模块测试 GoogleTest代码 #include "pch.h" #include "share.h" using namespace std; namespace TestSudokuChecker { int test_sudoku[10][10] = { 0, 0, 0, 0, 0 阅读全文
posted @ 2020-01-16 15:34 LightningStar 阅读(159) 评论(0) 推荐(0) 编辑