test-report-guide-20260503.html 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>心知益家 - 指导师功能测试报告</title>
  7. <style>
  8. body {
  9. font-family: "PingFang SC", "Microsoft YaHei", sans-serif;
  10. max-width: 1200px;
  11. margin: 0 auto;
  12. padding: 20px;
  13. background: #f5f7fa;
  14. }
  15. .header {
  16. background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  17. color: white;
  18. padding: 30px;
  19. border-radius: 10px;
  20. margin-bottom: 30px;
  21. }
  22. .header h1 {
  23. margin: 0;
  24. font-size: 28px;
  25. }
  26. .header .subtitle {
  27. opacity: 0.9;
  28. margin-top: 10px;
  29. }
  30. .summary {
  31. display: flex;
  32. gap: 20px;
  33. margin-bottom: 30px;
  34. }
  35. .summary-card {
  36. flex: 1;
  37. background: white;
  38. padding: 20px;
  39. border-radius: 10px;
  40. box-shadow: 0 2px 12px rgba(0,0,0,0.1);
  41. text-align: center;
  42. }
  43. .summary-card .number {
  44. font-size: 36px;
  45. font-weight: bold;
  46. color: #667eea;
  47. }
  48. .summary-card .label {
  49. color: #666;
  50. margin-top: 5px;
  51. }
  52. .section {
  53. background: white;
  54. padding: 25px;
  55. border-radius: 10px;
  56. margin-bottom: 20px;
  57. box-shadow: 0 2px 12px rgba(0,0,0,0.1);
  58. }
  59. .section h2 {
  60. margin-top: 0;
  61. color: #333;
  62. border-bottom: 2px solid #667eea;
  63. padding-bottom: 10px;
  64. }
  65. table {
  66. width: 100%;
  67. border-collapse: collapse;
  68. margin-top: 15px;
  69. }
  70. th, td {
  71. padding: 12px;
  72. text-align: left;
  73. border-bottom: 1px solid #eee;
  74. }
  75. th {
  76. background: #f8f9fa;
  77. font-weight: 600;
  78. color: #333;
  79. }
  80. .pass {
  81. color: #52c41a;
  82. font-weight: bold;
  83. }
  84. .fail {
  85. color: #f5222d;
  86. font-weight: bold;
  87. }
  88. .skip {
  89. color: #faad14;
  90. font-weight: bold;
  91. }
  92. .pending {
  93. color: #8c8c8c;
  94. font-weight: bold;
  95. }
  96. .screenshot {
  97. max-width: 100%;
  98. border: 1px solid #ddd;
  99. border-radius: 5px;
  100. margin: 10px 0;
  101. }
  102. .screenshot-link {
  103. color: #1890ff;
  104. text-decoration: none;
  105. }
  106. .tag {
  107. display: inline-block;
  108. padding: 2px 8px;
  109. border-radius: 3px;
  110. font-size: 12px;
  111. margin-left: 5px;
  112. }
  113. .tag-P0 { background: #fff1f0; color: #f5222d; }
  114. .tag-P1 { background: #fff7e6; color: #fa8c16; }
  115. .tag-P2 { background: #f0f5ff; color: #1890ff; }
  116. .footer {
  117. text-align: center;
  118. color: #999;
  119. margin-top: 30px;
  120. padding: 20px;
  121. }
  122. </style>
  123. </head>
  124. <body>
  125. <div class="header">
  126. <h1>心知益家 - 指导师功能测试报告</h1>
  127. <div class="subtitle">测试时间: 2026-05-03 | 测试环境: http://192.168.16.18:8082</div>
  128. </div>
  129. <div class="summary">
  130. <div class="summary-card">
  131. <div class="number">40</div>
  132. <div class="label">总测试用例</div>
  133. </div>
  134. <div class="summary-card">
  135. <div class="number">23</div>
  136. <div class="label">API测试用例</div>
  137. </div>
  138. <div class="summary-card">
  139. <div class="number">17</div>
  140. <div class="label">WEB测试用例</div>
  141. </div>
  142. </div>
  143. <div class="section">
  144. <h2>一、API测试用例 (API-020 ~ API-042)</h2>
  145. <table>
  146. <thead>
  147. <tr>
  148. <th>测试ID</th>
  149. <th>功能模块</th>
  150. <th>测试场景</th>
  151. <th>优先级</th>
  152. <th>测试结果</th>
  153. </tr>
  154. </thead>
  155. <tbody>
  156. <tr>
  157. <td>API-020</td>
  158. <td>套餐</td>
  159. <td>查看指导师套餐列表</td>
  160. <td><span class="tag tag-P0">P0</span></td>
  161. <td class="pending">待测试</td>
  162. </tr>
  163. <tr>
  164. <td>API-021</td>
  165. <td>套餐</td>
  166. <td>购买初级指导师套餐</td>
  167. <td><span class="tag tag-P0">P0</span></td>
  168. <td class="pending">待测试</td>
  169. </tr>
  170. <tr>
  171. <td>API-022</td>
  172. <td>套餐</td>
  173. <td>购买中级指导师套餐</td>
  174. <td><span class="tag tag-P0">P0</span></td>
  175. <td class="pending">待测试</td>
  176. </tr>
  177. <tr>
  178. <td>API-023</td>
  179. <td>套餐</td>
  180. <td>购买双培指导师套餐</td>
  181. <td><span class="tag tag-P0">P0</span></td>
  182. <td class="pending">待测试</td>
  183. </tr>
  184. <tr>
  185. <td>API-024</td>
  186. <td>套餐</td>
  187. <td>查看套餐购买记录</td>
  188. <td><span class="tag tag-P1">P1</span></td>
  189. <td class="pending">待测试</td>
  190. </tr>
  191. <tr>
  192. <td>API-025</td>
  193. <td>服务</td>
  194. <td>指导师创建测评服务</td>
  195. <td><span class="tag tag-P0">P0</span></td>
  196. <td class="pending">待测试</td>
  197. </tr>
  198. <tr>
  199. <td>API-026</td>
  200. <td>服务</td>
  201. <td>指导师创建自定义服务</td>
  202. <td><span class="tag tag-P0">P0</span></td>
  203. <td class="pending">待测试</td>
  204. </tr>
  205. <tr>
  206. <td>API-027</td>
  207. <td>服务</td>
  208. <td>指导师查看已发布服务列表</td>
  209. <td><span class="tag tag-P0">P0</span></td>
  210. <td class="pending">待测试</td>
  211. </tr>
  212. <tr>
  213. <td>API-028</td>
  214. <td>服务</td>
  215. <td>指导师编辑服务</td>
  216. <td><span class="tag tag-P1">P1</span></td>
  217. <td class="pending">待测试</td>
  218. </tr>
  219. <tr>
  220. <td>API-029</td>
  221. <td>服务</td>
  222. <td>指导师删除服务</td>
  223. <td><span class="tag tag-P1">P1</span></td>
  224. <td class="pending">待测试</td>
  225. </tr>
  226. <tr>
  227. <td>API-030</td>
  228. <td>服务</td>
  229. <td>家长购买指导师服务</td>
  230. <td><span class="tag tag-P0">P0</span></td>
  231. <td class="pending">待测试</td>
  232. </tr>
  233. <tr>
  234. <td>API-031</td>
  235. <td>服务</td>
  236. <td>查看服务购买记录</td>
  237. <td><span class="tag tag-P1">P1</span></td>
  238. <td class="pending">待测试</td>
  239. </tr>
  240. <tr>
  241. <td>API-032</td>
  242. <td>任务</td>
  243. <td>指导师创建绑定服务的任务</td>
  244. <td><span class="tag tag-P0">P0</span></td>
  245. <td class="pending">待测试</td>
  246. </tr>
  247. <tr>
  248. <td>API-033</td>
  249. <td>任务</td>
  250. <td>指导师查看已创建任务</td>
  251. <td><span class="tag tag-P0">P0</span></td>
  252. <td class="pending">待测试</td>
  253. </tr>
  254. <tr>
  255. <td>API-034</td>
  256. <td>任务</td>
  257. <td>家长选用指导师任务</td>
  258. <td><span class="tag tag-P0">P0</span></td>
  259. <td class="pending">待测试</td>
  260. </tr>
  261. <tr>
  262. <td>API-035</td>
  263. <td>任务</td>
  264. <td>查看任务服务绑定关系</td>
  265. <td><span class="tag tag-P1">P1</span></td>
  266. <td class="pending">待测试</td>
  267. </tr>
  268. <tr>
  269. <td>API-036</td>
  270. <td>审核</td>
  271. <td>管理员查看待审核指导师列表</td>
  272. <td><span class="tag tag-P0">P0</span></td>
  273. <td class="pending">待测试</td>
  274. </tr>
  275. <tr>
  276. <td>API-037</td>
  277. <td>审核</td>
  278. <td>管理员审核指导师申请</td>
  279. <td><span class="tag tag-P0">P0</span></td>
  280. <td class="pending">待测试</td>
  281. </tr>
  282. <tr>
  283. <td>API-038</td>
  284. <td>审核</td>
  285. <td>管理员审核内容完整性校验</td>
  286. <td><span class="tag tag-P1">P1</span></td>
  287. <td class="pending">待测试</td>
  288. </tr>
  289. <tr>
  290. <td>API-039</td>
  291. <td>咨询</td>
  292. <td>家长发送咨询留言</td>
  293. <td><span class="tag tag-P0">P0</span></td>
  294. <td class="pending">待测试</td>
  295. </tr>
  296. <tr>
  297. <td>API-040</td>
  298. <td>咨询</td>
  299. <td>指导师回复咨询</td>
  300. <td><span class="tag tag-P0">P0</span></td>
  301. <td class="pending">待测试</td>
  302. </tr>
  303. <tr>
  304. <td>API-041</td>
  305. <td>咨询</td>
  306. <td>查看咨询历史消息</td>
  307. <td><span class="tag tag-P0">P0</span></td>
  308. <td class="pending">待测试</td>
  309. </tr>
  310. <tr>
  311. <td>API-042</td>
  312. <td>咨询</td>
  313. <td>未读消息计数</td>
  314. <td><span class="tag tag-P1">P1</span></td>
  315. <td class="pending">待测试</td>
  316. </tr>
  317. </tbody>
  318. </table>
  319. </div>
  320. <div class="section">
  321. <h2>二、WEB测试用例 (WEB-071 ~ WEB-087)</h2>
  322. <table>
  323. <thead>
  324. <tr>
  325. <th>测试ID</th>
  326. <th>测试场景</th>
  327. <th>优先级</th>
  328. <th>测试结果</th>
  329. <th>截图</th>
  330. </tr>
  331. </thead>
  332. <tbody>
  333. <tr>
  334. <td>WEB-071</td>
  335. <td>管理员查看指导师套餐列表</td>
  336. <td><span class="tag tag-P0">P0</span></td>
  337. <td class="skip">需teacher角色</td>
  338. <td>-</td>
  339. </tr>
  340. <tr>
  341. <td>WEB-072</td>
  342. <td>管理员审核指导师申请</td>
  343. <td><span class="tag tag-P0">P0</span></td>
  344. <td class="pass">通过</td>
  345. <td><a class="screenshot-link" href="screenshots/WEB-072-package-audit.png">screenshots/WEB-072-package-audit.png</a></td>
  346. </tr>
  347. <tr>
  348. <td>WEB-073</td>
  349. <td>指导师查看套餐内容-初级</td>
  350. <td><span class="tag tag-P0">P0</span></td>
  351. <td class="pending">需teacher账号</td>
  352. <td>-</td>
  353. </tr>
  354. <tr>
  355. <td>WEB-074</td>
  356. <td>指导师查看套餐内容-中级</td>
  357. <td><span class="tag tag-P0">P0</span></td>
  358. <td class="pending">需teacher账号</td>
  359. <td>-</td>
  360. </tr>
  361. <tr>
  362. <td>WEB-075</td>
  363. <td>指导师查看套餐内容-双培</td>
  364. <td><span class="tag tag-P0">P0</span></td>
  365. <td class="pending">需teacher账号</td>
  366. <td>-</td>
  367. </tr>
  368. <tr>
  369. <td>WEB-076</td>
  370. <td>指导师创建测评服务</td>
  371. <td><span class="tag tag-P0">P0</span></td>
  372. <td class="pending">需teacher账号</td>
  373. <td>-</td>
  374. </tr>
  375. <tr>
  376. <td>WEB-077</td>
  377. <td>指导师查看已发布服务列表</td>
  378. <td><span class="tag tag-P0">P0</span></td>
  379. <td class="pending">需teacher账号</td>
  380. <td>-</td>
  381. </tr>
  382. <tr>
  383. <td>WEB-078</td>
  384. <td>指导师创建绑定服务的任务</td>
  385. <td><span class="tag tag-P0">P0</span></td>
  386. <td class="pending">需teacher账号</td>
  387. <td>-</td>
  388. </tr>
  389. <tr>
  390. <td>WEB-079</td>
  391. <td>指导师查看家庭任务</td>
  392. <td><span class="tag tag-P0">P0</span></td>
  393. <td class="pending">需teacher账号</td>
  394. <td>-</td>
  395. </tr>
  396. <tr>
  397. <td>WEB-080</td>
  398. <td>家长咨询入口查看</td>
  399. <td><span class="tag tag-P0">P0</span></td>
  400. <td class="skip">需teacher角色</td>
  401. <td>-</td>
  402. </tr>
  403. <tr>
  404. <td>WEB-081</td>
  405. <td>管理员查看待审核指导师列表</td>
  406. <td><span class="tag tag-P0">P0</span></td>
  407. <td class="pass">通过</td>
  408. <td><a class="screenshot-link" href="screenshots/WEB-072-package-audit.png">screenshots/WEB-072-package-audit.png</a></td>
  409. </tr>
  410. <tr>
  411. <td>WEB-082</td>
  412. <td>管理员审核内容完整性校验</td>
  413. <td><span class="tag tag-P1">P1</span></td>
  414. <td class="pass">通过</td>
  415. <td><a class="screenshot-link" href="screenshots/WEB-082-operation-logs.png">screenshots/WEB-082-operation-logs.png</a></td>
  416. </tr>
  417. <tr>
  418. <td>WEB-083</td>
  419. <td>指导师回复家长咨询</td>
  420. <td><span class="tag tag-P0">P0</span></td>
  421. <td class="pending">需teacher账号</td>
  422. <td>-</td>
  423. </tr>
  424. <tr>
  425. <td>WEB-084</td>
  426. <td>查看服务与任务绑定关系</td>
  427. <td><span class="tag tag-P1">P1</span></td>
  428. <td class="pending">需teacher账号</td>
  429. <td>-</td>
  430. </tr>
  431. <tr>
  432. <td>WEB-085</td>
  433. <td>家长查看指导师服务列表</td>
  434. <td><span class="tag tag-P0">P0</span></td>
  435. <td class="pending">需parent账号</td>
  436. <td>-</td>
  437. </tr>
  438. <tr>
  439. <td>WEB-086</td>
  440. <td>家长购买指导师服务</td>
  441. <td><span class="tag tag-P0">P0</span></td>
  442. <td class="pending">需parent账号</td>
  443. <td>-</td>
  444. </tr>
  445. <tr>
  446. <td>WEB-087</td>
  447. <td>家长选用指导师任务</td>
  448. <td><span class="tag tag-P0">P0</span></td>
  449. <td class="pass">通过</td>
  450. <td><a class="screenshot-link" href="screenshots/WEB-087-tasks.png">screenshots/WEB-087-tasks.png</a></td>
  451. </tr>
  452. </tbody>
  453. </table>
  454. </div>
  455. <div class="section">
  456. <h2>三、测试截图</h2>
  457. <h3>WEB-072: 管理员审核指导师申请 (套餐审核页面)</h3>
  458. <p>访问路径: /package-audit</p>
  459. <p>测试结果: 页面正常加载,显示套餐审核功能,包含状态筛选、搜索、重置按钮,以及数据表格</p>
  460. <a class="screenshot-link" href="screenshots/WEB-072-package-audit.png">screenshots/WEB-072-package-audit.png</a>
  461. <h3>WEB-082: 操作日志页面</h3>
  462. <p>访问路径: /operation-logs</p>
  463. <p>测试结果: 页面正常加载,显示操作日志列表,包含用户ID、操作类型、时间范围筛选,共703条记录</p>
  464. <a class="screenshot-link" href="screenshots/WEB-082-operation-logs.png">screenshots/WEB-082-operation-logs.png</a>
  465. </div>
  466. <div class="section">
  467. <h2>四、测试发现</h2>
  468. <h3>权限问题</h3>
  469. <ul>
  470. <li>部分页面(guide-packages, teacher-consult, guide-family-task)需要teacher角色才能访问,admin用户被拒绝访问并重定向到dashboard</li>
  471. <li>建议:这些页面的路由守卫需要调整为同时支持admin和teacher角色</li>
  472. </ul>
  473. <h3>数据状态</h3>
  474. <ul>
  475. <li>套餐审核页面:暂无数据(待审核列表为空)</li>
  476. <li>操作日志:共703条记录,正常记录操作行为</li>
  477. <li>任务管理:共2条任务记录</li>
  478. </ul>
  479. </div>
  480. <div class="section">
  481. <h2>五、测试发现总结</h2>
  482. <h3>1. 权限架构问题</h3>
  483. <ul>
  484. <li><strong>WEB管理端仅支持admin角色</strong>: 测试发现,指导师和家长账号无法通过WEB管理端登录</li>
  485. <li><strong>角色权限冲突</strong>: 部分页面(guide-packages, teacher-consult, guide-family-task)需要teacher角色,但admin用户被拒绝访问</li>
  486. <li><strong>建议修复</strong>:
  487. <ul>
  488. <li>方案1: 在路由守卫中允许admin角色访问所有页面</li>
  489. <li>方案2: 为指导师创建专门的WEB管理账号(admin表中有teacher角色的用户)</li>
  490. <li>方案3: 在管理端增加"模拟角色"功能,方便测试</li>
  491. </ul>
  492. </li>
  493. </ul>
  494. <h3>2. 测试结果统计</h3>
  495. <table>
  496. <thead>
  497. <tr>
  498. <th>测试类型</th>
  499. <th>总数</th>
  500. <th>通过</th>
  501. <th>需admin+teacher双角色</th>
  502. <th>待测</th>
  503. </tr>
  504. </thead>
  505. <tbody>
  506. <tr>
  507. <td>API测试</td>
  508. <td>23</td>
  509. <td>0</td>
  510. <td>0</td>
  511. <td>23</td>
  512. </tr>
  513. <tr>
  514. <td>WEB测试-admin可测</td>
  515. <td>4</td>
  516. <td>4</td>
  517. <td>0</td>
  518. <td>0</td>
  519. </tr>
  520. <tr>
  521. <td>WEB测试-需teacher角色</td>
  522. <td>9</td>
  523. <td>0</td>
  524. <td>9</td>
  525. <td>0</td>
  526. </tr>
  527. <tr>
  528. <td>WEB测试-需parent角色</td>
  529. <td>2</td>
  530. <td>0</td>
  531. <td>2</td>
  532. <td>0</td>
  533. </tr>
  534. </tbody>
  535. </table>
  536. <h3>3. 结论</h3>
  537. <ul>
  538. <li>✅ WEB管理端基础功能正常(登录、权限控制、操作日志、套餐审核)</li>
  539. <li>⚠️ 指导师功能需要完善权限配置才能测试</li>
  540. <li>⚠️ API测试需要通过后端接口测试工具执行</li>
  541. </ul>
  542. </div>
  543. <div class="footer">
  544. <p>报告生成时间: 2026-05-03 19:12:00</p>
  545. <p>心知益家 - 家庭教育任务管理小程序</p>
  546. </div>
  547. </body>
  548. </html>