Skip to content

Integrate Testing Framework into Current Implementation #351

@xingfan-git

Description

@xingfan-git

The Index Advisor has changed a little bit since the testing framework implemented. Update and integrate testing framework into current Index Advisor implementation to support testing for the newest version.

Note: You need to update and merge the code in testing framework branch: xingfan/testingframework into current branch: dev/xingfan/removesanitize

The key for this task is integrate the testing framework for current index advisor, so that we can use csv mode to run batch tests. Update the PR and prioritize to implement it

There should be one config file for csv testing, and it should contains the connection string of cluster and testing database name. All the test collection are in that database.

The input csv file to describe test cases with the following columns:
There should be one config file for csv testing, and it should contains the connection string of cluster and testing database name. All the test collection are in that database.

The input csv file to describe test cases with the following columns:
Category,Test Case,Tags,Collection,Positive / Negative,Query,Expected Index Advisor Suggestion,Explanation,Current Index,Comment

The testing framework should run the query from Query command on the collection from Collection column, and record the execution plan, and the suggested from Index advisor. And check if it is the same as expected suggestion from Expected Index Advisor Suggestion column. And record those data along with other fields in origin csv file in the output file.

The testing framework should run the query from Query command on the collection from Collection column, and record the execution plan, and the suggested from Index advisor. And check if it is the same as expected suggestion from Expected Index Advisor Suggestion column. And record those data along with other fields in origin csv file in the output file.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions