4 ms·
> Static analyzers are for when your test suite is subpar. No, this statement is quite wrong and expresses a failure to understand the roles and responsibiliti
by rewmie 3y ago
> Static analyzers are for when your test suite is subpar.
No, this statement is quite wrong and expresses a failure to understand the roles and responsibilities of each class of automated tests, and the purpose of static code analysis tools.
Automated tests and static code analysis tools are complementary tools. They don't share responsibilities at all. Just because both can run in the same pipeline stage that does not mean they serve the same purpose.
- gavinhoward 3y agoThey do serve the same purpose: they find defects. But I also didn't define "subpar" for a test suite; the SQLite guys have full-coverage testing. That's probably the line for "subpar," and (almost) nobody else actually has that.
- rewmie 3y ago> They do serve the same purpose: they find defects. No, not really. If you read up on the basics of automated testing, you'll find out that test classes such as unit, integration, UI, performance, accessibility, and localization tests share the same goal: specify and check invariants in the code and in its interfaces. Static code analysis tools have an entirely different set of responsibilities. They do not have the responsibility of checking the compliance with contracts, including things like SLAs or whether a button is navigatable with a keyboard as per the wishes of a Program Manager.
- gavinhoward 3y agoYou claim that static code analysis has different responsibilities, but then you leave out what those responsibilities are. So what are those responsibilities?
- rewmie 3y ago> You claim that static code analysis has different responsibilities, but then you leave out what those responsibilities are. https://en.wikipedia.org/wiki/Static_program_analysis https://en.wikipedia.org/wiki/Static_program_analysis If you're interested in onboarding onto the topic, you can start by reading the first paragraph of the Rationale section.
- gavinhoward 3y agoI am well aware of what static program analysis, thank you very much. > The uses of the information obtained from the analysis vary from highlighting possible coding errors (e.g., the lint tool) to formal methods that mathematically prove properties about a given program (e.g., its behaviour matches that of its specification). Sounds like finding defects to me.
- pixl97 3y agoHow do you do runtime analysis on an application before it's ready to run?
- rewmie 3y ago> I am well aware of what static program analysis, thank you very much. You see, I don't think you are. If you were, you certainly wouldn't make totally oblivious claims such as "static analyzers are for when your test suite is subpar." > Sounds like finding defects to me. If you were familiar with static analysis tools, you'd be well aware that they only cover a narrow class of defects, which other classes of automated tests do. Again, I seriously recommend you onboard onto the basics of automated testing, specially the intro section on the classes of tests and what are their design goals, and in the meantime refrain from posting comments on testing.
- deleted 3y ago[deleted]