TEST-SP-002 / SOURCE CONTROLLED
SharePoint migration search acceptance matrix
Use before accepting a migration where users must retrieve records by known identifier, metadata, text or business vocabulary. Direct-URL access is a separate acceptance test.
Source-to-destination reconciliation
| FIELD | SOURCE | DESTINATION | RESULT |
|---|---|---|---|
| Stable item ID | Path/list ID | Unique ID + URL | Matched/exception |
| Integrity | Size/hash/version | Size/hash/version | Equal/approved transform |
| Metadata | Project, class, date, owner | Target column values | Mapped/exception |
| Permissions | Source identities/groups | Target roles/groups | Approved disposition |
| Migration | Scanned/expected | Migrated/not migrated | Report + reason |
Crawl-eligibility gate
| BOUNDARY | POSITIVE PROOF | NEGATIVE PROOF |
|---|---|---|
| Site | Allowed in search | Excluded control site absent |
| Library/list | Items allowed in results | Excluded library absent |
| Item state | Readable/published as required | Draft/restricted state respected |
| Permission | Approved persona has access | Prohibited persona denied |
| Tenant/search scope | Required surface includes site | Unapproved scope does not leak |
Indexed-representation register
| BUSINESS FIELD | TARGET COLUMN | CRAWLED PROPERTY | MANAGED PROPERTY | ATTRIBUTES |
|---|---|---|---|---|
| Project number | ID, internal name, type | Observed property | Controlled mapping/alias | Queryable, searchable, retrievable, refinable as required |
- Use populated examples; an empty column cannot prove extraction.
- Capture mapping order where multiple crawled properties feed one managed property.
- Request the property in raw query results and verify the expected value.
- After an approved mapping change, reindex only the affected scope unless wider evidence requires more.
Gold query set
| QUERY CLASS | EXAMPLE | EXPECTED JUDGEMENT |
|---|---|---|
| Known URL/path | Path-bounded item query | Exact destination item |
| File/title | Exact and partial drawing name | Approved copy in top positions |
| Identifier | Project code with punctuation variants | All relevant project records |
| Metadata | Record class + discipline + date | Only matching controlled set |
| Full text | Distinct phrase in body | Relevant readable items |
| Freshness | New and changed controlled item | Appears within agreed window |
| Negative access | Known restricted record | No result or metadata disclosure |
| Superseded/duplicate | Similar current and obsolete copies | Disposition and rank are explicit |
Execution record
For every run capture test ID, timestamp/time zone, persona and membership path, search surface, site/hub context, query text, result source, query template/hidden constraints, selected properties, refiners, duplicate trimming, result count, top-ten URLs/ranks, expected set, false positives, missing items and screenshots or raw response.
Run the raw SharePoint search query before attributing a failure to the user interface. Then repeat the same information need through site, hub/organisation and custom search surfaces as applicable.
Acceptance measures
| MEASURE | CALCULATION | GATE |
|---|---|---|
| Known-item success | Passed known-item queries / total | 100% for critical records |
| Precision@10 | Relevant results in top 10 / returned top 10 | Per query-class target |
| Sample recall | Retrieved judged-relevant / known relevant set | Per risk tier |
| Security failures | Prohibited results or metadata | 0 |
| Freshness | Change to searchable elapsed time | Within agreed service window |
| Unexplained exceptions | Failed items without owner/reason | 0 |
These measures apply to the bounded judged set; they are not tenant-wide performance claims.
Repair decision tree
- If destination item is absent or corrupt, reconcile and remigrate the attributed subset.
- If direct access fails, repair the approved permission or item state before search.
- If crawl eligibility fails, correct the smallest site/library boundary.
- If the raw index omits the item, inspect crawl timing, schema and mapped properties.
- If raw results are correct but the page is wrong, repair result source, template, filters, selected properties or layout.
- After repair, rerun positive, negative, freshness and duplicate tests.
Evidence pack and cadence
Retain source inventory, migration settings and reports; destination manifest; mapping register; permission disposition; query set and relevance judgements; raw responses; UI results; exceptions; repairs; reindex requests; acceptance and legacy-source retirement approval.
- Per migration wave: reconciliation plus complete risk-ranked query set.
- After schema/query/security change: rerun affected tests.
- Monthly during transition: unresolved known-item and user-feedback review.
- Quarterly: mapping ownership, custom search configuration and critical-record sample.
Limits
This matrix proves retrieval only for the tested items, queries, personas, scopes and time window. Search relevance is contextual and can change as the corpus and service evolve. A result establishes discoverability for the tested query, persona and object. Record authenticity, retention compliance and platform fit each require separate evidence. Reindexing is asynchronous and must not be used as an unexplained universal repair.