51
votes
What are best practices for testing the absence of functionality
For a web application, this is actually easy.
Presumably there is functionality to edit these objects (e.g. for maintainers or admins), and this functionality must somehow map to a system state change ...
20
votes
Accepted
Do test-driven and behavior-driven development belong to the "verification" category?
Is it a valid generalization to say that TDD and BDD are classified as "verification"?
No. TDD and BDD incorporate verification procedures into the development process in a specific way, ...
17
votes
What are best practices for testing the absence of functionality
A common approach for requirements of the form "this must never happen" is fuzz testing.
The test case can be formulated like this:
Set up initial state.
Have a subroutine that verifies ...
14
votes
Do test-driven and behavior-driven development belong to the "verification" category?
Is it a valid generalization to say that TDD and BDD are classified as "verification"?
Yes. All testing techniques that take the customers specification as input (and therefor as the truth) ...
8
votes
What are best practices for testing the absence of functionality
Sometimes you can't actually test things. But you can verify them by inspection of the source code, build files, etc.
If you can show that the software provides no method for the user to edit ...
8
votes
Accepted
Does reading over code I've written make sense to verify it?
Tests will ensure correctness (minus your uncovered edge cases), but it's not enough for the code to be correct; it must also be as readable/understandable as possible for you and anyone reading it ...
8
votes
Accepted
How proofs can be applied to a simple logging function
Tests are not proofs. Tests are experiments. Proofs are formal arguments. But both can be used to decide a proposition (a statement that may be true or false). In general, our propositions have the ...
7
votes
Accepted
How to prove a function returns a value
What you're trying to do is called Formal Verification, and is generally impossible in JS. If, however, you restrict yourself to a subset of the language, it becomes tenable. The usefulness of such an ...
6
votes
Accepted
What is the relationship between IV&V professionals, Testers and QA engineers?
Software verification and validation are all the activities that ensure that the software fulfils all the needs and requirements for its intended purpose. As such V&V is part of the larger set of ...
6
votes
Do test-driven and behavior-driven development belong to the "verification" category?
Tests are a verification activity: they demonstrate that the software system exhibits certain behaviour.
However, the act of creating test cases can sometimes have validation-like aspects. TDD and BDD ...
5
votes
What are best practices for testing the absence of functionality
Negative requirements are always tricky. I know many places where they are forbidden because of the difficulty in qualification.
Interestingly, the example you gave has already taken the step to turn ...
5
votes
Does reading over code I've written make sense to verify it?
You can write tests and call it verification.
You can write proofs and call it verification.
But none of them mean anything if the code, the tests, and the proofs aren't all readable.
The reason we ...
4
votes
How to Automatically Tell What is Not Tested
The answer depends on your programming language, but what are are looking for is a code coverage tool Just run it on your tests.
https://stackify.com/code-coverage-tools/
4
votes
Accepted
How can the `log` function be used for formal verification
Formal verification needs to have a goal: what precisely do you want to prove?
For example, if you merely want to prove that a program terminates than you can treat built-in functions like console....
4
votes
Which is better if(condition == false) or If(!condition)
Personally, I prefer if (condition) or if (!condition) to if (condition == true) or if (condition == false) or worse, if (condition != true), because the latter three look like someone did not fully ...
4
votes
What is the relationship between IV&V professionals, Testers and QA engineers?
The relationship... doesn’t exist.
Modern software development generally doesn’t have discrete phases where you take and validate some input, do some work, and then pass it down the assembly line. ...
3
votes
Accepted
Requirement Verification
Verification and validation are indeed a frequent source of confusion and they are often used interchangeably when they shouldn't.
Let's quote IEEE's (free) SWEBOK, page 10-6:
Verification is an ...
3
votes
What are best practices for testing the absence of functionality
One option may be to test for the inverse, with functionality being considered a failure state. Let's break the requirement up, and look at its success and failure states:
Requirement: x is read-...
3
votes
Accepted
What you can prove when making native HTTP calls from browser
Formal verification is very rarely used:
the software system needs to be modelled in a formal system
that requires skilled labour
so formal verification is very expensive compared with other QA ...
3
votes
Accepted
How to write a for loop using Automata
It looks like this:
i++ i++ i++ i++ i++ i++ i++ i++ i++ i++
(0)->(1)->(2)->(3)->(4)->(5)->(6)->(7)->(8)->(9)->(10)
Each time you change i you're changing ...
2
votes
How to prove a function returns a value
You don't.
You're testing on a real world environment, and you're trying to prove underlying assumptions you have no control on, namely hardware and javascript implementation.
Let's say for absurd ...
2
votes
Accepted
Which is better if(condition == false) or If(!condition)
This is not a question where you will get a direct answer, because both work. Most people will tell you it's a matter of taste. My personal opinion is: Don't lose sight of the end goal readability.
...
2
votes
Do test-driven and behavior-driven development belong to the "verification" category?
Bart van Ingen Schenau's answer is correct as far as I'm concerned, but I wanted to add this as maybe an easier way to remember the distinction.
In the beginning of the process of having an ...
2
votes
Diagrams in the Design Stage in the Lifecycle
About requirements and design
The requirements describe what is needed and expected to solve a given problem.
The design describes a possible solution to that problem.
The SRS is the System ...
2
votes
Requirement Verification
Verification :is testing that your product meets the specifications / requirements you have written. "Did I build the system right ?".
Validation :tests how well you addressed the business ...
1
vote
How to verify that a legitimate (but unknown) remote asset from an unknown source has not been compromised and that its integrity remains intact?
I'm trying to understand how it will be possible (I refuse to believe it isn't possible) to verify the integrity of a new unknown remote asset from a new unknown source, when you cannot say for ...
1
vote
Diagrams in the Design Stage in the Lifecycle
It's crucial to separate requirements from design.
Requirements are about what the system does, while the design is about how the system does it. You typically need some kind of requirement, whether ...
1
vote
Which is better if(condition == false) or If(!condition)
In my opinion, if using if (!condition) is any less readable than if (condition == false) then you have other problems with your conditional statement which you should work to resolve.
The ! negation ...
1
vote
How can I obtain a CA certificate for my application if I do not own a business/company?
To answer the question "How can I obtain a CA certificate for my application if I do not own a business/company?": at least some CAs issue certificates for individuals. For example Comodo says
"The ...
1
vote
What you can prove when making native HTTP calls from browser
Ideally, you want to be able to prove that the specifications and/or implementations of HTTP are correct. But HTTP specifications themselves are not formally defined, so your next best chance is to ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
verification × 53testing × 23
validation × 12
quality × 12
theory × 6
formal-methods × 5
security × 4
requirements × 4
unit-testing × 3
design × 2
design-patterns × 2
php × 2
authentication × 2
specifications × 2
qa × 2
static-analysis × 2
c# × 1
c++ × 1
javascript × 1
object-oriented-design × 1
programming-practices × 1
web-development × 1
web-applications × 1
terminology × 1
tdd × 1