It's a very large topic, few thoughts;
Mutation testing:
• On the JVM: There is Pitest, but its Gradle integration is very poor
• On JS: It's probably possible to use an existing JS framework, but that will probably lead to a ton of false positives as it will complain about things that the Kotlin compiler stops you from doing anyway
• On Native: AFAIK it's not possible currently
• The best solution would be to have a Kotlin compiler plugin that can add these at the IR phase so they work on all platforms. That would be a ton of work though.
Linting/formatting:
• KtLint and Detekt are quite popular.
Personally I don't use them because I think they are too often pedantic about exact form in ways that make the content harder to understand.
Test coverage:
• On the JVM: Kover works great.
• On JS: you can use any JS coverage tool you want but you'll have to do the Gradle integration yourself, and unless you manage to get source maps working, the reports will be hard to read.
• On Native: I guess it should be possible to use existing native tools, but I don't know enough about them to really say.
Code scanning:
• I'm not sure I get what this is about. If you mean something like Sonarqube, IntelliJ's inspections do the job fine (look up Qodana if you want it in your CI)
Mocking:
• Use fakes!