-
Notifications
You must be signed in to change notification settings - Fork 45
Closed
Labels
ctg-qaIssue is related to QA processIssue is related to QA process
Milestone
Description
Possible values:
- Project: Maven, Gradle, Intellij
- JDK: 1.8, 11, 17
- Framework: JUnit 4, JUnit 5, TestNG
- Parametrization: On, Off
Suggestion:
Let's do independent validation of "JDK <-> Framework" and "JDK <-> Framework <-> Parametrization". Project type will equally distributed between testers.
JDK <-> Framework Pair:
All possible combinations of JDK and Framework are selected.
Project type is iterated independently.
Parametrization is OFF.
Scenario:
- Crete new project with specified project type, JDK.
- Remove default test dependency from Maven or Gradle configuration and refresh project structure.
- Copy paste
org.utbot.examples.exceptions.ExceptionExamplesandorg.utbot.examples.controlflow.Conditionsfrom UTBot project into source code folder. - Invoke test generation for
org.utbot.examples.exceptions.ExceptionExamplesfile with specific Framework - all test frameworks suggested to be installed. - Generate tests - tests are generated without error with proper test Framework.
- Run tests - tests run without error.
- Invoke test generation again for
org.utbot.examples.controlflow.Conditions, all except installed framework suggested to be installed. - Generate and run tests with the same framework - tests are generated and executed without errors.
| Project | JDK | Framework | Status | Comment |
|---|---|---|---|---|
| Gradle | 1.8 | JUnit 5 | ✅ | |
| Maven | 1.8 | TestNG | ✅ | 7.5 added |
| Gradle | 11 | JUnit 5 | ✅ | |
| Maven | 11 | TestNG | ✅ | 7.6 added |
| Maven | 17 | JUnit 5 | ✅ | |
| Gradle | 17 | TestNG | ✅ | 7.6 added |
JDK <-> Framework <-> Parametrization
All possible combinations of Parametrization and Framework need to be tested. But actually all cases with Parametrization OFF were tested in previous section, so we select only case Parametrization is ON.
Additionally Parametrization is possible only with JUnit5 and TestNG frameworks, so we leave only with 6 test cases:
| JDK | Framework | Parametrization | Status | Comment |
|---|---|---|---|---|
| 1.8 | JUnit 4 | On | ➖ | Not applicable |
| 1.8 | JUnit 5 | On | ✅ | |
| 1.8 | TestNG | On | ➖ | Not applicable |
| 11 | JUnit 4 | On | ➖ | Not applicable |
| 11 | JUnit 5 | On | ✅ | |
| 11 | TestNG | On | ✅ | |
| 17 | JUnit 4 | On | ➖ | Not applicable |
| 17 | JUnit 5 | On | ✅ | |
| 17 | TestNG | On | ✅ |
| JDK | Fuzzing/Symbolic | Symbolic 100% | Fuzzing 100% |
|---|---|---|---|
| 1.8 | casts |
casts |
exceptions |
| 11 | mock |
mock |
casts |
| 17 | mock |
exceptions |
exceptions |
| Test Generation Timeout | Fuzzing/Symbolic | Symbolic 100% | Fuzzing 100% |
|---|---|---|---|
| 60 | strings |
structures |
lambda |
| 10 | x | x | algorithms/CorrectBracketSequences |
| 1 | x | x | x |
Tests used during verification:
- casts
- exceptions
- mock
- strings
- structures
- lambda
- objects
- stdlib
- algorithms/CorrectBracketSequences
- arrays/ArrayOfObjects
- arrays/FinalStaticFieldArray
- enums/ClassWithEnum
- exceptions/JvmCrashExamples
- collections/Optionals
- collections/QueueUsages
- controlflow/CycleDependedCondition - to check summaries
- controlflow/Switch
- types/Generics
- nested
- invokes
- make.symbolic/ClassWithComplicatedMethods
- mixed/LoggerExample - to check force mocking
- natives
- reflection
- stream
- thirdparty/numbers/ArithmeticUtils
- threads
- unsafe
- wrappers
- annotations/NotNullAnnotation
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
ctg-qaIssue is related to QA processIssue is related to QA process
Type
Projects
Status
Done