ConsolePatameter类的单元测试、 分支覆盖率分析 https://blog.youkuaiyun.com/qq_37571192/article/details/85265564
SudokuSolution类的单元测试、分支覆盖率分析 https://blog.youkuaiyun.com/qq_37571192/article/details/85319323
SudokuPuzzle类的单元测试、分支覆盖率分析 https://blog.youkuaiyun.com/qq_37571192/article/details/85342034
集成测试 分支覆盖率分析报告: https://blog.youkuaiyun.com/qq_37571192/article/details/85412919
集成测试用例:
就是单元用例的组合
①. 常规合法输入用例
(顺序为:argc,argv数组)
{3, {"exename", "-c", "100"}}, 预期结果:生成100个数独
{3, {"exename", "-s", "合法的路径,能成功打开的文件路径"},}, 预期结果:解数独成功
这里的数独题文件的用例,有5种,见SudokuPuzzle类的单元测试内用例
{3, {"exename", "-s", "非法的路径,不能成功打开文件的路径"},}, 预期结果:打开文件失败
②. 边界条件
{3, {"exename", "-c", "-1"}}, 预期结果:“非法输入”
{3, {"exename", "-c", "0"}, 预期结果:“非法输入”
{3, {"exename", "-c", "1"}, 预期结果:生成1个数独
{3, {"exename", "-c", "2"},, 预期结果:生成2个数独
{3, {"exename", "-c", "999999"}, 'c', 999999, "\0"}, 预期结果:生成999999个数独
{3, {"exename", "-c", "1000000"}, 'c', 1000000, "\0"}, 预期结果:生成1000000个数独
{3, {"exename", "-c", "1000001"}, '\0', -1, "\0"}, 预期结果:“非法输入”
③. 其他的,尽可能能覆盖所有分支的所有用例
argc不为3的:
{1, {"exename" }, '\0', -1, "\0"}, 预期结果:“非法输入”
{2, {"exename", "-c"}, '\0', -1, "\0"}, 预期结果:“非法输入”
{2, {"exename", "aaaaaaaaaaaaaaaaa"}, '\0', -1, "\0"}, 预期结果:“非法输入”
{4, {"exename", "-ccc", "12345", "12345"}, '\0', -1, "\0"},预期结果:“非法输入”
-c且后面参数不合法的
{3, {"exename", "-c", "ccccc"}, '\0', -1, "\0"}, 预期结果:“非法输入”
{3, {"exename", "-c", "123a"}, '\0', -1, "\0"}, 预期结果:“非法输入”
{3, {"exename", "-c", "&&&&"}, '\0', -1, "\0"}, 预期结果:“非法输入”
-s且后面参数不合法的
{3, {"exename", "-s", "&&my&&path"}, 's', -1, "&&my&&path"}, 预期结果:“非法输入”
{3, {"exename", "-s", "12345"}, 's', -1, "12345"}, 预期结果:“非法输入”
根本就不是-c或者-s的
{3, {"exename", "123", "12345"}, '\0', -1, "\0"}, 预期结果:“非法输入”
{3, {"exename", "-ccc", "12345"}, '\0', -1, "\0"}, 预期结果:“非法输入”
{3, {"exename", "-sss", "12345"}, '\0', -1, "\0"}, 预期结果:“非法输入”
{4, {"exename", "-ccc", "12345", "12345"}, '\0', -1, "\0"}, 预期结果:“非法输入”
集成测试结果:
用例全部通过(人工测试)