ai-test-process-mcp 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
- import { iso29119TestPlanStructure } from "../resources/iso29119.js";
3
- const TBD = "_TBD — not provided by caller_";
2
+ import { testPlanTemplate, testTypeCatalog, judgmentStatusDefinitions, incidentRankDefinitions, questionPriorityDefinitions, executionRecordNotes, standardMetrics, } from "../resources/testPlanTemplate.js";
3
+ const TBD = "_未記入_";
4
+ const TBD_REQUIRED = "_未記入(必須)_";
4
5
  export const generateTestPlanInputShape = {
5
6
  projectName: z.string().describe("Name of the project or system under test"),
6
7
  scope: z.string().describe("What is in scope for testing (features, systems, boundaries)"),
@@ -33,30 +34,99 @@ export const generateTestPlanInputShape = {
33
34
  passFailCriteria: z.string().optional(),
34
35
  suspensionCriteria: z.string().optional(),
35
36
  approvers: z.array(z.string()).optional(),
37
+ systemOverview: z
38
+ .object({
39
+ name: z.string().optional(),
40
+ users: z.string().optional(),
41
+ purpose: z.string().optional(),
42
+ detail: z.string().optional(),
43
+ devType: z.string().optional(),
44
+ })
45
+ .optional(),
46
+ references: z
47
+ .array(z.object({
48
+ name: z.string(),
49
+ author: z.string().optional(),
50
+ version: z.string().optional(),
51
+ receivedDate: z.string().optional(),
52
+ note: z.string().optional(),
53
+ }))
54
+ .optional(),
55
+ background: z
56
+ .object({
57
+ current: z.string().optional(),
58
+ concerns: z.string().optional(),
59
+ })
60
+ .optional(),
61
+ testLevels: z.array(z.string()).optional(),
62
+ revisionContent: z.array(z.string()).optional(),
63
+ testItems: z
64
+ .array(z.object({ name: z.string(), summary: z.string().optional() }))
65
+ .optional(),
66
+ selectedTestTypes: z.array(z.string()).optional(),
67
+ testTechniques: z
68
+ .array(z.object({
69
+ testType: z.string(),
70
+ approach: z.string().optional(),
71
+ technique: z.string().optional(),
72
+ }))
73
+ .optional(),
74
+ testPeriod: z.string().optional(),
75
+ startCriteria: z.string().optional(),
76
+ endCriteria: z.string().optional(),
77
+ completionCriteria: z.array(z.string()).optional(),
78
+ metricsNote: z.string().optional(),
79
+ testDataRequirements: z
80
+ .array(z.object({
81
+ description: z.string(),
82
+ owner: z.string().optional(),
83
+ period: z.string().optional(),
84
+ }))
85
+ .optional(),
86
+ stakeholders: z
87
+ .array(z.object({
88
+ role: z.string(),
89
+ name: z.string().optional(),
90
+ contact: z.string().optional(),
91
+ }))
92
+ .optional(),
93
+ assumptions: z.array(z.string()).optional(),
94
+ constraints: z.array(z.string()).optional(),
95
+ glossary: z.array(z.object({ term: z.string(), definition: z.string() })).optional(),
96
+ referenceDocs: z
97
+ .array(z.object({ name: z.string(), description: z.string().optional() }))
98
+ .optional(),
99
+ notes: z.string().optional(),
36
100
  };
37
101
  const generateTestPlanInputSchema = z.object(generateTestPlanInputShape);
38
- function listOrTbd(items) {
102
+ function requiredTbd(required) {
103
+ return required ? TBD_REQUIRED : TBD;
104
+ }
105
+ function listOrTbd(items, required = false) {
39
106
  if (!items || items.length === 0)
40
- return TBD;
107
+ return requiredTbd(required);
41
108
  return items.map((item) => `- ${item}`).join("\n");
42
109
  }
43
- function risksOrTbd(risks) {
110
+ function textOrTbd(value, required = false) {
111
+ return value && value.trim() ? value : requiredTbd(required);
112
+ }
113
+ function risksOrTbd(risks, required = false) {
44
114
  if (!risks || risks.length === 0)
45
- return TBD;
115
+ return requiredTbd(required);
46
116
  return risks
47
117
  .map((risk) => {
48
118
  const parts = [`- ${risk.description}`];
49
119
  if (risk.impact)
50
- parts.push(`(impact: ${risk.impact})`);
120
+ parts.push(`(影響: ${risk.impact})`);
51
121
  if (risk.mitigation)
52
- parts.push(`— mitigation: ${risk.mitigation}`);
122
+ parts.push(`— 対策: ${risk.mitigation}`);
53
123
  return parts.join(" ");
54
124
  })
55
125
  .join("\n");
56
126
  }
57
- function teamOrTbd(team) {
127
+ function teamOrTbd(team, required = false) {
58
128
  if (!team || team.length === 0)
59
- return TBD;
129
+ return requiredTbd(required);
60
130
  return team
61
131
  .map((member) => {
62
132
  const namePart = member.name ? ` (${member.name})` : "";
@@ -65,75 +135,299 @@ function teamOrTbd(team) {
65
135
  })
66
136
  .join("\n");
67
137
  }
68
- function scheduleOrTbd(schedule) {
138
+ function scheduleOrTbd(schedule, required = false) {
69
139
  if (!schedule || (!schedule.startDate && !schedule.endDate && !schedule.milestones?.length)) {
70
- return TBD;
140
+ return requiredTbd(required);
71
141
  }
72
142
  const lines = [];
73
- lines.push(`- Start date: ${schedule.startDate ?? TBD}`);
74
- lines.push(`- End date: ${schedule.endDate ?? TBD}`);
143
+ lines.push(`- 開始: ${schedule.startDate ?? TBD}`);
144
+ lines.push(`- 終了: ${schedule.endDate ?? TBD}`);
75
145
  if (schedule.milestones && schedule.milestones.length > 0) {
76
- lines.push("- Milestones:");
146
+ lines.push("- マイルストーン:");
77
147
  for (const milestone of schedule.milestones) {
78
148
  lines.push(` - ${milestone.name}: ${milestone.date}`);
79
149
  }
80
150
  }
81
151
  return lines.join("\n");
82
152
  }
83
- function sectionContent(sectionId, input) {
84
- switch (sectionId) {
85
- case "introduction":
86
- return `**Purpose:** ${input.scope}\n\n**Objectives:**\n${listOrTbd(input.objectives)}`;
153
+ function backgroundContent(input, required) {
154
+ const bg = input.background;
155
+ if (!bg || (!bg.current && !bg.concerns))
156
+ return requiredTbd(required);
157
+ const lines = [];
158
+ if (bg.current)
159
+ lines.push(`**現状:** ${bg.current}`);
160
+ if (bg.concerns)
161
+ lines.push(`**懸念:** ${bg.concerns}`);
162
+ return lines.join("\n\n");
163
+ }
164
+ function referencesContent(input, required) {
165
+ const refs = input.references;
166
+ if (!refs || refs.length === 0)
167
+ return requiredTbd(required);
168
+ const lines = [];
169
+ lines.push("| 名称 | 作成者 | バージョン | 受領日 | 備考 |");
170
+ lines.push("| --- | --- | --- | --- | --- |");
171
+ for (const ref of refs) {
172
+ lines.push(`| ${ref.name} | ${ref.author ?? "-"} | ${ref.version ?? "-"} | ${ref.receivedDate ?? "-"} | ${ref.note ?? "-"} |`);
173
+ }
174
+ return lines.join("\n");
175
+ }
176
+ function scopeRangeContent(input, required) {
177
+ const hasAny = (input.featuresToTest && input.featuresToTest.length > 0) ||
178
+ (input.featuresNotToTest && input.featuresNotToTest.length > 0);
179
+ if (!hasAny)
180
+ return requiredTbd(required);
181
+ const lines = [];
182
+ lines.push("**テスト対象:**");
183
+ lines.push(listOrTbd(input.featuresToTest));
184
+ lines.push("");
185
+ lines.push("**テスト対象外:**");
186
+ lines.push(listOrTbd(input.featuresNotToTest));
187
+ return lines.join("\n");
188
+ }
189
+ function testItemsContent(input, required) {
190
+ const items = input.testItems;
191
+ if (!items || items.length === 0)
192
+ return requiredTbd(required);
193
+ return items
194
+ .map((item) => `- ${item.name}${item.summary ? `: ${item.summary}` : ""}`)
195
+ .join("\n");
196
+ }
197
+ function testTypesContent(input) {
198
+ const selected = new Set(input.selectedTestTypes ?? []);
199
+ const lines = [];
200
+ lines.push("| 対象 | テストタイプ | 説明 |");
201
+ lines.push("| --- | --- | --- |");
202
+ for (const t of testTypeCatalog) {
203
+ const mark = selected.has(t.name) ? "〇" : "";
204
+ lines.push(`| ${mark} | ${t.name} | ${t.description} |`);
205
+ }
206
+ return lines.join("\n");
207
+ }
208
+ function testTechniquesContent(input, required) {
209
+ const techs = input.testTechniques;
210
+ if (!techs || techs.length === 0)
211
+ return requiredTbd(required);
212
+ const lines = [];
213
+ lines.push("| テストタイプ | アプローチ | 技法 |");
214
+ lines.push("| --- | --- | --- |");
215
+ for (const t of techs) {
216
+ lines.push(`| ${t.testType} | ${t.approach ?? "-"} | ${t.technique ?? "-"} |`);
217
+ }
218
+ return lines.join("\n");
219
+ }
220
+ function startEndCriteriaContent(input, required) {
221
+ if (!input.startCriteria && !input.endCriteria)
222
+ return requiredTbd(required);
223
+ const lines = [];
224
+ lines.push(`**開始基準:** ${input.startCriteria ?? TBD}`);
225
+ lines.push(`**終了基準:** ${input.endCriteria ?? TBD}`);
226
+ return lines.join("\n\n");
227
+ }
228
+ function resultJudgmentContent(input) {
229
+ const lines = [];
230
+ lines.push(input.passFailCriteria ?? TBD_REQUIRED);
231
+ lines.push("");
232
+ lines.push("**判定ステータス定義:**");
233
+ lines.push("");
234
+ lines.push("| ステータス | 説明 |");
235
+ lines.push("| --- | --- |");
236
+ for (const s of judgmentStatusDefinitions) {
237
+ lines.push(`| ${s.status} | ${s.description} |`);
238
+ }
239
+ return lines.join("\n");
240
+ }
241
+ function incidentCriteriaContent() {
242
+ const lines = [];
243
+ lines.push("| ランク | 説明 |");
244
+ lines.push("| --- | --- |");
245
+ for (const r of incidentRankDefinitions) {
246
+ lines.push(`| ${r.rank} | ${r.description} |`);
247
+ }
248
+ return lines.join("\n");
249
+ }
250
+ function questionPriorityContent() {
251
+ const lines = [];
252
+ lines.push("| 重要度 | 説明 |");
253
+ lines.push("| --- | --- |");
254
+ for (const q of questionPriorityDefinitions) {
255
+ lines.push(`| ${q.level} | ${q.description} |`);
256
+ }
257
+ return lines.join("\n");
258
+ }
259
+ function executionRecordContent() {
260
+ return executionRecordNotes.map((note, i) => `${i + 1}. ${note}`).join("\n");
261
+ }
262
+ function metricsContent(input) {
263
+ const lines = [];
264
+ lines.push("| メトリクス | 収集項目 |");
265
+ lines.push("| --- | --- |");
266
+ for (const m of standardMetrics) {
267
+ lines.push(`| ${m.name} | ${m.items} |`);
268
+ }
269
+ if (input.metricsNote && input.metricsNote.trim()) {
270
+ lines.push("");
271
+ lines.push(input.metricsNote);
272
+ }
273
+ return lines.join("\n");
274
+ }
275
+ function testDataRequirementsContent(input, required) {
276
+ const reqs = input.testDataRequirements;
277
+ if (!reqs || reqs.length === 0)
278
+ return requiredTbd(required);
279
+ const lines = [];
280
+ lines.push("| 内容 | 準備担当 | 期間 |");
281
+ lines.push("| --- | --- | --- |");
282
+ for (const r of reqs) {
283
+ lines.push(`| ${r.description} | ${r.owner ?? "-"} | ${r.period ?? "-"} |`);
284
+ }
285
+ return lines.join("\n");
286
+ }
287
+ function stakeholdersContent(input, required) {
288
+ const sh = input.stakeholders;
289
+ if (!sh || sh.length === 0)
290
+ return requiredTbd(required);
291
+ return sh
292
+ .map((s) => {
293
+ const namePart = s.name ? ` (${s.name})` : "";
294
+ const contactPart = s.contact ? ` — ${s.contact}` : "";
295
+ return `- ${s.role}${namePart}${contactPart}`;
296
+ })
297
+ .join("\n");
298
+ }
299
+ function assumptionsConstraintsContent(input, required) {
300
+ const hasAny = (input.assumptions && input.assumptions.length > 0) ||
301
+ (input.constraints && input.constraints.length > 0);
302
+ if (!hasAny)
303
+ return requiredTbd(required);
304
+ const lines = [];
305
+ lines.push("**前提条件:**");
306
+ lines.push(listOrTbd(input.assumptions));
307
+ lines.push("");
308
+ lines.push("**制限事項:**");
309
+ lines.push(listOrTbd(input.constraints));
310
+ return lines.join("\n");
311
+ }
312
+ function glossaryContent(input, required) {
313
+ const g = input.glossary;
314
+ if (!g || g.length === 0)
315
+ return requiredTbd(required);
316
+ return g.map((entry) => `- **${entry.term}**: ${entry.definition}`).join("\n");
317
+ }
318
+ function referenceDocsContent(input, required) {
319
+ const docs = input.referenceDocs;
320
+ if (!docs || docs.length === 0)
321
+ return requiredTbd(required);
322
+ return docs
323
+ .map((doc) => `- ${doc.name}${doc.description ? `: ${doc.description}` : ""}`)
324
+ .join("\n");
325
+ }
326
+ function sectionContent(section, input) {
327
+ const req = section.required;
328
+ switch (section.id) {
329
+ case "scope-target":
330
+ return textOrTbd(input.scope, req);
331
+ case "references-testbase":
332
+ return referencesContent(input, req);
333
+ case "background":
334
+ return backgroundContent(input, req);
335
+ case "objectives-goals":
336
+ return listOrTbd(input.objectives, req);
337
+ case "test-levels":
338
+ return listOrTbd(input.testLevels, req);
339
+ case "revision-content":
340
+ return listOrTbd(input.revisionContent, req);
87
341
  case "test-items":
88
- return `**Project:** ${input.projectName}\n\n**Scope:** ${input.scope}`;
89
- case "features-to-be-tested":
90
- return listOrTbd(input.featuresToTest);
91
- case "features-not-to-be-tested":
92
- return listOrTbd(input.featuresNotToTest);
93
- case "approach":
94
- return TBD;
95
- case "item-pass-fail-criteria":
96
- return input.passFailCriteria ?? TBD;
97
- case "suspension-resumption-criteria":
98
- return input.suspensionCriteria ?? TBD;
99
- case "test-deliverables":
100
- return listOrTbd(input.deliverables);
101
- case "testing-tasks":
102
- return TBD;
103
- case "environmental-needs":
104
- return input.environment ?? TBD;
105
- case "responsibilities":
106
- return teamOrTbd(input.team);
107
- case "staffing-and-training-needs":
108
- return TBD;
342
+ return testItemsContent(input, req);
343
+ case "test-types":
344
+ return testTypesContent(input);
345
+ case "scope-target-range":
346
+ return scopeRangeContent(input, req);
347
+ case "product-risk":
348
+ return risksOrTbd(input.risks, req);
349
+ case "test-techniques":
350
+ return testTechniquesContent(input, req);
351
+ case "test-period":
352
+ return textOrTbd(input.testPeriod, req);
109
353
  case "schedule":
110
- return scheduleOrTbd(input.scheduleConstraints);
111
- case "risks-and-contingencies":
112
- return risksOrTbd(input.risks);
113
- case "approvals":
114
- return listOrTbd(input.approvers);
354
+ return scheduleOrTbd(input.scheduleConstraints, req);
355
+ case "deliverables":
356
+ return listOrTbd(input.deliverables, req);
357
+ case "start-end-criteria":
358
+ return startEndCriteriaContent(input, req);
359
+ case "suspension-resumption":
360
+ return textOrTbd(input.suspensionCriteria, req);
361
+ case "completion-criteria":
362
+ return listOrTbd(input.completionCriteria, req);
363
+ case "result-judgment":
364
+ return resultJudgmentContent(input);
365
+ case "incident-criteria":
366
+ return incidentCriteriaContent();
367
+ case "question-priority":
368
+ return questionPriorityContent();
369
+ case "execution-record":
370
+ return executionRecordContent();
371
+ case "collected-metrics":
372
+ return metricsContent(input);
373
+ case "env-requirements":
374
+ return textOrTbd(input.environment, req);
375
+ case "testdata-requirements":
376
+ return testDataRequirementsContent(input, req);
377
+ case "test-org":
378
+ return teamOrTbd(input.team, req);
379
+ case "stakeholders":
380
+ return stakeholdersContent(input, req);
381
+ case "assumptions-constraints":
382
+ return assumptionsConstraintsContent(input, req);
383
+ case "glossary":
384
+ return glossaryContent(input, req);
385
+ case "reference-docs":
386
+ return referenceDocsContent(input, req);
387
+ case "notes":
388
+ return textOrTbd(input.notes, req);
115
389
  default:
116
- return TBD;
390
+ return requiredTbd(req);
117
391
  }
118
392
  }
119
- export function renderTestPlan(input, structure = iso29119TestPlanStructure) {
393
+ function revisionHistory(input) {
394
+ const approver = input.approvers && input.approvers.length > 0 ? input.approvers.join("、") : TBD;
395
+ return [
396
+ "## 改訂履歴",
397
+ "",
398
+ "| 改訂日 | バージョン | 作成・改訂者 | 承認者 | 改訂内容 |",
399
+ "| --- | --- | --- | --- | --- |",
400
+ `| ${TBD} | ${TBD} | ${TBD} | ${approver} | 初版作成 |`,
401
+ ];
402
+ }
403
+ export function renderTestPlan(input, template = testPlanTemplate) {
120
404
  const lines = [];
121
- lines.push(`# Test Plan: ${input.projectName}`);
405
+ lines.push(`# テスト計画書: ${input.projectName}`);
122
406
  lines.push("");
123
- lines.push(`*Conforms to the structure of ${structure.standard}*`);
407
+ lines.push(`*${template.templateName}*`);
124
408
  lines.push("");
125
- structure.sections.forEach((section, index) => {
126
- lines.push(`## ${index + 1}. ${section.title}`);
127
- lines.push("");
128
- lines.push(sectionContent(section.id, input));
409
+ lines.push(...revisionHistory(input));
410
+ lines.push("");
411
+ const sections = template.sections;
412
+ sections.forEach((section, index) => {
413
+ const heading = section.level === 1 ? "##" : "###";
414
+ lines.push(`${heading} ${section.no} ${section.titleJa}`);
129
415
  lines.push("");
416
+ // level 1 の章に子(level 2)がある場合は見出しのみ。
417
+ // それ以外(level 2、または子を持たない level 1)は本文を出力する。
418
+ const next = sections[index + 1];
419
+ const hasChildren = section.level === 1 && next?.level === 2;
420
+ if (!hasChildren) {
421
+ lines.push(sectionContent(section, input));
422
+ lines.push("");
423
+ }
130
424
  });
131
425
  return lines.join("\n").trimEnd() + "\n";
132
426
  }
133
427
  export function registerGenerateTestPlanTool(server) {
134
- server.registerTool("generate_test_plan_draft", {
428
+ server.registerTool("gen_test_plan", {
135
429
  title: "Generate Test Plan Draft",
136
- description: "Generates an ISO/IEC/IEEE 29119-3 conformant test plan document draft in markdown from project information. Fields not provided are marked as TBD.",
430
+ description: "Generates a QUINTEE-structured (17-section, ISO/IEC/IEEE 29119-3 aligned) test plan document draft in Japanese markdown from project information. Fields not provided are marked as 未記入.",
137
431
  inputSchema: generateTestPlanInputShape,
138
432
  }, async (input) => {
139
433
  const markdown = renderTestPlan(input);
@@ -1 +1 @@
1
- {"version":3,"file":"generateTestPlan.js","sourceRoot":"","sources":["../../src/tools/generateTestPlan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateTestPlan.js","sourceRoot":"","sources":["../../src/tools/generateTestPlan.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,46 +1,50 @@
1
- {
2
- "name": "ai-test-process-mcp",
3
- "version": "0.1.0",
4
- "type": "module",
5
- "description": "MCP server providing AI-assisted test process tools, starting with ISO/IEC/IEEE 29119-3 conformant test plan draft generation.",
6
- "license": "MIT",
7
- "author": "Hashi_Kazu <outsider.prs.0721@gmail.com>",
8
- "repository": {
9
- "type": "git",
10
- "url": "git+https://github.com/Hashi-Kazu/ai-test-process-mcp.git"
11
- },
12
- "keywords": [
13
- "mcp",
14
- "model-context-protocol",
15
- "test-plan",
16
- "iso29119",
17
- "testing"
18
- ],
19
- "files": [
20
- "dist"
21
- ],
22
- "bin": {
23
- "ai-test-process-mcp": "dist/server.js"
24
- },
25
- "scripts": {
26
- "build": "tsc",
27
- "dev": "tsc --watch",
28
- "start": "node dist/server.js",
29
- "test": "vitest run",
30
- "inspect": "npm run build && npx @modelcontextprotocol/inspector node dist/server.js",
31
- "prepublishOnly": "npm run build"
32
- },
33
- "dependencies": {
34
- "@modelcontextprotocol/sdk": "^1.29.0",
35
- "zod": "^4.4.3"
36
- },
37
- "devDependencies": {
38
- "@modelcontextprotocol/inspector": "^0.22.0",
39
- "@types/node": "^22.10.0",
40
- "typescript": "^5.7.0",
41
- "vitest": "^3.0.0"
42
- },
43
- "engines": {
44
- "node": ">=18"
45
- }
46
- }
1
+ {
2
+ "name": "ai-test-process-mcp",
3
+ "version": "0.2.0",
4
+ "type": "module",
5
+ "description": "MCP server providing AI-assisted test process tools, starting with ISO/IEC/IEEE 29119-3 conformant test plan draft generation.",
6
+ "license": "MIT",
7
+ "author": "Hashi_Kazu <outsider.prs.0721@gmail.com>",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/Hashi-Kazu/ai-test-process-mcp.git"
11
+ },
12
+ "homepage": "https://github.com/Hashi-Kazu/ai-test-process-mcp#readme",
13
+ "bugs": {
14
+ "url": "https://github.com/Hashi-Kazu/ai-test-process-mcp/issues"
15
+ },
16
+ "keywords": [
17
+ "mcp",
18
+ "model-context-protocol",
19
+ "test-plan",
20
+ "iso29119",
21
+ "testing"
22
+ ],
23
+ "files": [
24
+ "dist"
25
+ ],
26
+ "bin": {
27
+ "ai-test-process-mcp": "dist/server.js"
28
+ },
29
+ "scripts": {
30
+ "build": "tsc",
31
+ "dev": "tsc --watch",
32
+ "start": "node dist/server.js",
33
+ "test": "vitest run",
34
+ "inspect": "npm run build && npx @modelcontextprotocol/inspector node dist/server.js",
35
+ "prepublishOnly": "npm run build"
36
+ },
37
+ "dependencies": {
38
+ "@modelcontextprotocol/sdk": "^1.29.0",
39
+ "zod": "^4.4.3"
40
+ },
41
+ "devDependencies": {
42
+ "@modelcontextprotocol/inspector": "^0.22.0",
43
+ "@types/node": "^22.10.0",
44
+ "typescript": "^5.7.0",
45
+ "vitest": "^3.0.0"
46
+ },
47
+ "engines": {
48
+ "node": ">=18"
49
+ }
50
+ }