connorjtoth / apex-mutation-testing Goto Github PK
View Code? Open in Web Editor NEWBasic mutation testing for Salesforce Apex classes.
License: Other
Basic mutation testing for Salesforce Apex classes.
License: Other
Create mutator that targets the following grammar rules.
expression :
| ('+' | '-' | '++' | '--') expression
This mutator should create mutants using the following transformation:
Initial | Transformed |
---|---|
'-' expression |
expression |
Create mutator that targets the following grammar rules.
expression :
| expression ('++' | '--')
| ('+' | '-' | '++' | '--') expression
This mutator should create mutants using the following transformations:
Initial | Transformed |
---|---|
expression '++' |
expression '--' |
expression '--' |
expression '++' |
'--' expression |
'++' expression |
'++' expression |
'--' expression |
Create mutator that targets the following grammar rules (only when expressions are numeric; string concatenation should be ignored!). Note: May need to create separate mutator for mutating addition operator.
expression :
| expression ('*'|'/'|'%') expression
| expression ('+'|'-') expression
| expression ('<' '<' | '>' '>' '>' | '>' '>') expression
| expression '&' expression
| expression '^' expression
| expression '|' expression
This mutator should create mutants using the following transformation:
Initial | Transformed |
---|---|
expression '-' expression |
expression '+' expression |
expression '+' expression |
expression '-' expression |
expression '*' expression |
expression '/' expression |
expression '/' expression |
expression '*' expression |
expression '%' expression |
expression '*' expression |
expression '&' expression |
expression '|' expression |
expression '|' expression |
expression '&' expression |
expression '^' expression |
expression '&' expression |
expression '<' '<' expression |
expression '>' '>' expression |
expression '>' '>' expression |
expression '<' '<' expression |
expression '>' '>' '>' expression |
expression '<' '<' expression |
Currently, the program only creates mutant classes. In practice, tests are written once for a class. These tests will not test the mutants that are created unless they are modified to do so. So, whenever a mutant is created, we need to also copy the original tests and modify them so they test the mutant.
Create a mutator that returns empty values depending on method return type.
Proposed:
Create a mutator that replaces return statements with return null;
(except those that already return null).
Create mutator that removes method calls to void methods.
Mutation testing should be able to be automatically directed into a Salesforce org using current SFDX configuration. (If an alias exists to an org, they can use that to choose target Salesforce org and connect/run testing).
Create mutator that targets the following grammar rules.
expression :
| expression ('<=' | '>=' | '>' | '<') expression
| expression ('==' | '!=' | '<>') expression
This mutator should create mutants using the following transformation:
Initial | Transformed |
---|---|
expression '==' expression |
expression '!=' expression |
expression '!=' expression |
expression '==' expression |
expression '<=' expression |
expression '>' expression |
expression '>=' expression |
expression '<' expression |
expression '<' expression |
expression '>=' expression |
expression '>' expression |
expression '<=' expression |
Add dependency recognition to reduce number of tests required to run per mutant.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.