189
votes
Can we assume while testing software that a user wouldn't perform such silly actions on software?
You might not enter random values into fields of a web application, but there certainly people out there that do just that.
Some people enter random by accident and others do it intentionally trying ...
101
votes
Can we assume while testing software that a user wouldn't perform such silly actions on software?
Never Assume Anything
You cannot assume that any user will not do something "dumb" with your software by accident or on-purpose. Users can accidentally press the wrong button, the cat can ...
94
votes
Accepted
Software bug vs. software corruption
Software corruption is the contrary of software integrity. It's the same thing as data corruption, except that the data is the software code.
It can affect:
the software binary stored in memory: ...
69
votes
What kind of bugs do "goto" statements lead to? Are there any historically significant examples?
It isn't that the goto is bad by itself.
(After all, every jump instruction in a computer is a goto.)
The problem is that there is a human style of programming that pre-dates structured programming, ...
67
votes
What kind of bugs do "goto" statements lead to? Are there any historically significant examples?
Why is goto dangerous?
goto doesn't cause instability by itself. Despite about 100,000 gotos, the Linux kernel is still a model of stability.
goto by itself should not cause security vulnerabilities. ...
60
votes
Can we assume while testing software that a user wouldn't perform such silly actions on software?
There are several factors to take in account. To illustrate those points, I'll use an example of a field where a user should enter a percentage in a context of a quota defined for a specific task in ...
34
votes
What kind of bugs do "goto" statements lead to? Are there any historically significant examples?
The famous Dijkstra article was written at a time when some programming languages were actually capable of creating subroutines having multiple entry and exit points. In other words, you could ...
34
votes
Accepted
What to do if a core function does exactly what you need to do, but has a bug
I suspect this is a fight over a name.
Option 3 (create a separate function) is absolutely the best. Provided you can think of a good name for the new function. But I suspect you can't. That's why ...
32
votes
What to do if a core function does exactly what you need to do, but has a bug
Option 4.
There is no bug in the core function.
I find a function which does exactly this. Its description explicitly
says that it normalizes input to our desired format.
this function has test ...
28
votes
Software bug vs. software corruption
You can fix corruption by restoring from a good back up. Corruption means some of the bits somehow got changed from what they were meant to be.
You can fix a bug* by doing more development and ...
20
votes
Software bug vs. software corruption
A bug is when a software does exactly what the programmer told it to do, instead of what the programmer wanted it to do.
A corruption is when a software does something else than what the programmer ...
18
votes
Should I notify my colleagues when I find a bug in their code?
If it's part of your process, then yes. If it's specifically not part of your process, then no.
If it's not specified, the best thing is to ask the developers if they would like you to notify them if ...
15
votes
Software bug vs. software corruption
Presumably what they mean by "software corruption" is unintended changes to the contents of an executable file due to things like a failure of the storage media.
A "bug" would mean ...
14
votes
Can Rust replace the C or C++ programs in the Future?
Actually, the bug in the Generator Control Units that you refer to is not the kind of memory handling bug that Rust (or any language with fixed-size integers) can protect against. An internal counter ...
12
votes
Accepted
Consistency of Undefined behavior
No. The consistency of undefined behaviour is undefined.
Speaking practically, when you've caused undefined behaviour by dereferencing a null pointer, you can probably expect fairly deterministic ...
12
votes
What kind of bugs do "goto" statements lead to? Are there any historically significant examples?
When the wigwam was current architectural art, their builders could undoubtedly give you sound practical advice regarding construction of wigwams, how to let smoke escape, and so on. Fortunately, ...
12
votes
Can we assume while testing software that a user wouldn't perform such silly actions on software?
There are a lot of good answers here that describe why this is important, but not a lot of advice on how to sensibly protect your application. The "standard practice" is to use robust input ...
11
votes
Who de-duplicates bug tickets?
Really, everyone should make a reasonable effort to avoid duplicates, but developers are usually in the best position to do so. Bugs can be found by many people, but usually are filtered to one ...
11
votes
What kind of bugs do "goto" statements lead to? Are there any historically significant examples?
What kind of bugs do “goto” statements lead to? Are there any historically significant examples?
I used to use goto statements when writing BASIC programs as a child as a simple way to get for and ...
11
votes
Can we assume while testing software that a user wouldn't perform such silly actions on software?
Usually the 'random' values are not random. You are attempting to capture edge cases, the "unknown unknown".
Say for example the # character will crash you app. You don't know this in advance and it ...
11
votes
What to do when third party won't fix bug
This is one of the drawbacks of using third-party libraries: as you get more and more dependent of them, you're at the mercy of the company which develops those libraries. Not only they can set the ...
9
votes
Accepted
Should one create a new git branch for each issue?
Use one permanent dev branch per user
Can it happen, that whoever manages your project comes in and decides that another feature is more important, or that you need to fix a bug first? Then one ...
9
votes
What to do if a core function does exactly what you need to do, but has a bug
Out of your 3 options, I would only reject #2 out front. Adding a flag argument often leaves the complexity in the code and forces future readers to understand both options before choosing one. This ...
7
votes
Are “Hard to find bugs” the responsibility of the developer or the tester?
There is no single standard software development process with clear defined responsibility for everything:
On one side this is unfortunately, because it makes life harder. You have to organize ...
7
votes
What kind of bugs do "goto" statements lead to? Are there any historically significant examples?
To add one thing to the other excellent answers, with goto statements it can be difficult to tell exactly how you got to any given place in the program. You can know that an exception occurred at some ...
7
votes
What kind of bugs do "goto" statements lead to? Are there any historically significant examples?
goto is harder for humans to reason about than other forms of flow control.
Programming correct code is hard. Writing correct programs is hard, determining if programs are correct is hard, proving ...
7
votes
Can we assume while testing software that a user wouldn't perform such silly actions on software?
I once wrote a program, which I live-tested in a lab with 60 students. I was standing behind the 60 computer screens and saw them use it. The amount of ridiculous things they did was hair-raising. I ...
7
votes
Can we assume while testing software that a user wouldn't perform such silly actions on software?
What you're describing is Fuzzing or Fuzz Testing: throw random and invalid input at a system and see what happens. You don't do this because you expect a user to do it. You do it to expose your own ...
7
votes
Accepted
Informing Users of Outstanding Bugs
This depends very much on the kind of software, the kind of bug and the possible impact of not telling your users about it.
For the majority of bugs, the only reasonable place where users need to be ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
bug × 142debugging × 21
testing × 16
issue-tracking × 15
terminology × 7
scrum × 7
programming-practices × 6
development-process × 6
code-quality × 5
bug-report × 5
maintenance × 4
qa × 4
features × 4
support × 4
design × 3
c × 3
agile × 3
compiler × 3
teamwork × 3
productivity × 3
history × 3
software × 3
theory × 3
defect × 3
javascript × 2