Skip to main content
The 2024 Developer Survey results are live! See the results
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 ...
Kilian Foth's user avatar
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, ...
John Bollinger's user avatar
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 ...
jpa's user avatar
  • 1,378
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) ...
Bart van Ingen Schenau's user avatar
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 ...
Simon B's user avatar
  • 9,643
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 ...
Kyle McVay's user avatar
  • 1,956
8 votes
Accepted

Are periodic validation or verification tests required after the software is released?

It does not seem to make much sense to run the exactly same set of tests against the exactly same, unchanged piece of software once a year, as long as the software runs on a reliable, unchanged ...
Doc Brown's user avatar
  • 210k
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 ...
amon's user avatar
  • 135k
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 ...
Ordous's user avatar
  • 1,917
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 ...
amon's user avatar
  • 135k
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 ...
Cort Ammon's user avatar
  • 11.6k
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 ...
candied_orange's user avatar
5 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 ...
Christophe's user avatar
  • 78.7k
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. ...
Telastyn's user avatar
  • 109k
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....
amon's user avatar
  • 135k
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/
Lewis Pringle's user avatar
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 ...
Olivier Jacot-Descombes's user avatar
3 votes

Are periodic validation or verification tests required after the software is released?

In addition @DocBrown's answer, another thing to consider is if the software runs in a set environment, or if the environment is under user control. So, for example, if the software is embedded in a ...
B.J.'s user avatar
  • 644
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 ...
Christophe's user avatar
  • 78.7k
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 ...
candied_orange's user avatar
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 ...
amon's user avatar
  • 135k
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-...
Justin Time - Reinstate Monica's user avatar
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 ...
BgrWorker's user avatar
  • 1,694
2 votes
Accepted

How to make an application only accessible to those with a college/university email

Yep. Send confirmation codes, activation links, or whatever only to .edu addresses -- and other specific, whitelisted addresses or domains as-needed for development, testing, administration, etc.
svidgen's user avatar
  • 15.1k
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. ...
R. Schmitz's user avatar
  • 2,608
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 ...
Christophe's user avatar
  • 78.7k
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 ...
aziz trabelsi's user avatar
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 ...
Flater's user avatar
  • 53.1k
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 ...
candied_orange's user avatar
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 ...
Thomas Owens's user avatar
  • 83.5k

Only top scored, non community-wiki answers of a minimum length are eligible