Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mutate: quick jump to the test code #930

Open
christoffer-nylen opened this issue Oct 9, 2019 · 0 comments
Open

mutate: quick jump to the test code #930

christoffer-nylen opened this issue Oct 9, 2019 · 0 comments

Comments

@christoffer-nylen
Copy link
Collaborator

christoffer-nylen commented Oct 9, 2019

Background

Assume:

  • The html report contains a surviving mutation point x.
  • There is a close mutation point x + 1 that has been killed by tc_4, tc_21 and tc_23.
  • The user does not remember any details about tc_4, tc_21 or tc_23.

Scenario:

The user wants to decide if x should be fixed immediately or fixed later.

Problem:

Before considering the fix immediately alternative, the user would need to:

  • Manually locate tc_4, tc_21 and tc_23.
  • Manually figure out how tc_4, tc_21 and/or tc_23 killed x + 1.

Evaluation criteria

The below suggestions will be evaluated to the following criteria:

Criterion Priority (TBD) Motivation (TBD)
Actionability: Does the user need to make a cheap or expensive investment to decide if the fix immediately alternative is an option? High ?
Integration: Does the solution make Dextool Mutate easier or harder to integrate? Low This is just an optional feature.
Complexity: Is the solution simple or hard to implement and maintain? ? ?
Compatibility: Does the solution support different kinds of test frameworks? medium ?

Suggestions

Meta approach 1: Jump to test implementation

Implement a feature that lets the user jump to the implementation by clicking on one of the listed test cases.

Pros:

  • Actionability: The low effort from the user increases the likelyhood that the user will dig a little bit further and decide to take the fix immediately option.

Unknown:

  • Does this open an IDE or a html page?

Approach 1.1: Using a script from the user

The test implementation is located using a script that is provided by the user. It translates a test case id to a file:row:colum where the test case implementation can be found.

Pros:

  • Compatibility: Works for all kinds of test frameworks.

Cons:

  • Integration: Adds more complexity to the README.md.

Approach 1.2: Using googe test's result information

Use the filepath:row information from assertions that kill a mutant.

Pros:

  • Integration: Fully automated, easy for the user.
  • Actionability: Information about failing checks could also be displayed.

Cons:

  • Compatibility: Only works with google test.
@christoffer-nylen christoffer-nylen changed the title mutate: html quick jump to the test code mutate: quick jump to the test code May 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant