39
votes
Is it a good idea to write all possible test cases after transforming the team to TDD to achieve a full coverage?
There was no test-driven development process during the development due to very tight deadlines
This statement is very concerning. Not because it means you developed without TDD or because you aren't ...
24
votes
Is it a good idea to write all possible test cases after transforming the team to TDD to achieve a full coverage?
Is it still okay or good idea to stop most of the development and start writing whole possible test cases from the beginning [...] ?
Given legacy1 code, write unit tests in these situations:
when ...
12
votes
Is it a good idea to write all possible test cases after transforming the team to TDD to achieve a full coverage?
In my experience, tests do not need total coverage to be helpful. Instead, you start reaping different kinds of benefits as coverage increases:
more than 30% coverage (aka a couple of integration ...
12
votes
Accepted
Should you define acceptance tests for vital yet simple behavior?
Yes, test the vital but simple behavior. At least for 3 reasons:
The whole idea behind BDD is to promote collaboration between business and technical people, to achieve a common understanding, and ...
11
votes
Is software testing different when we are dealing with game development?
Modern games are actually a ton of creative art content developed using an in-house or proprietary game engine. The engine itself is unit testable for most part (rendering, geometry, physics, AI ...
11
votes
Strategy for dealing with A/B tests and Gitflow
The way I've always seen it done is to have a single code base capable of serving both pages/views/forms.
ie. Its Feature flagged and deployed with two or more configs, or the 'does the user get A or ...
9
votes
Accepted
Do tests that asserts a user can't do an action have any value?
Yes. It tests that the roles are taken into account when checking for permission.
It also tests that the permission for the role are setup correctly.
Note that these are unit-testing the permission ...
8
votes
In a testing phase,can I raise a defect which has occured due to deployment issues?
On the one hand, the developers want bugs that are in the code that need to be fixed.
On the other hand, how is QA supposed to know whether it's code, data, scripts, or human error? QA knows that it ...
8
votes
Should you define acceptance tests for vital yet simple behavior?
One reason I don't use BDD on the regular is that the devil is in the details, and BDD hides detail rather than exposing it. For example, your last line is
Then its new position should be the sum of ...
7
votes
Should a large number of system tests be part of the build?
The tests and the build
The concept of having extensive tests as part of the build is not flawed. This is actually what the build is for. What is flawed is to have tests “that fail frequently but ...
5
votes
Accepted
One suite of tests for different implementations of a protocol
Language independet tests are entirely possible, but the problem is that you need to define a language-agnostic format for these test cases, and write parsers/test drivers for this format in each ...
5
votes
Is creating a completely duplicate system for quality assurance (QA) of another a bad practice?
O_A is wrong, O_B is right
Fix A
O_A is right, O_B is wrong
Fix B
O_A is right, O_B is right
Hopefully, they also agree.
O_A is wrong, O_B is wrong
Hopefully, they ...
5
votes
Accepted
Test Internals with TDD?
Also doesn't this contradict the major push for tons of unit tests and that in general the more unit tests the better because they help us identify the specific problem when they fail rather than ...
5
votes
Is it a good idea to write all possible test cases after transforming the team to TDD to achieve a full coverage?
Don't write tests for existing code. It's not worth it.
What you made is already somewhat tested in a completely informal way -- you tried it out by hand constantly, people did some nonautomated ...
4
votes
How to test a web app (inc write paths) for acceptance or integration tests, without db access?
There are several questions here so I will try and answer the initial one of
"For example the test that deletes a resource will fail if run the second time. "
Ideally a good practice is for testing ...
4
votes
How to prepare test case for System Migration of legacy system while existing functionality is unclear?
In order to answer your last question ("how should I prepare test case in order to ensure the quality of the system?") you must answer your first two questions:
There are some differences in ...
4
votes
Shared development and CI database
We have a set of SQL scripts that we use to create and modify the DB between versions - as its text, its stored in the VCS and tagged along with all the other code.
One of the scripts is a "set up ...
4
votes
Accepted
Does the "Pyramid of tests" contradict the idea of tests focusing on behaviour?
I think things start to make sense once you concede that "unit test" should not test a unit of code (like class or a function) but unit of behavior.
Imagine your application has simple ...
4
votes
Should you define acceptance tests for vital yet simple behavior?
You might have chosen a bad example.
It should be new pos = old pos + (vel * delta time)
You would expect this calc to apply to everything in the engine, not just the boids.
"when it moves" ...
4
votes
How to follow Outside-In TDD with Micro-services and Micro-frontends?
There's not just one feature
where a single feature can span across several Micro-services?
For all intents and purposes, this isn't one feature spanning across several microservices, this is a ...
3
votes
Accepted
How should I manipulate the database from within an integration test?
This isn't a dilemma. There is no reason to contort yourself in order to avoid methods for testing.
Your test suite is a vital component of the code base - the fact that it isn't shipped to the ...
3
votes
Accepted
Acceptance test execution strategies for heavy first-time-setup apps
This is not by any means a bad practice. It may seem like an overkill but doing integration/system type of testing such a way gives you tremendous benefits.
Tests become a lot less fragile when you ...
3
votes
Accepted
Is it a good idea to have separate test methods for every step?
Best practices always have a purpose, a reason behind them. It's always a good idea to consider these reasons in your design - especially when you are trying to decide how and how hard to follow these ...
3
votes
Is it a good idea to have separate test methods for every step?
If you can safely assume that making a server request with the same parameters will behave always the same, method B is almost pointless - why should you call four times the same method to get the ...
3
votes
Is creating a completely duplicate system for quality assurance (QA) of another a bad practice?
When you have a system in production that is actually used by customers, having a QA system to verify bugfixes and new functionality is an absolute must. From the quality standpoint, it should be as ...
3
votes
Test Internals with TDD?
If the internals of your class are so complex that they require thorough testing, then your class is violating the SRP (doing too much). Refactor it into a client of a new external utility class, and ...
3
votes
Accepted
Software Quality - preventing regressions with documentation
How does the new employee know whether Joe's changes broke feature 2345 if he doesn't know how feature 2345 is intended to function?
That is not necessary in most cases. Usually it is sufficient to ...
3
votes
Why are logs not used for testing?
Why logs are not utilized for testing?
Timestamps.
Testing is about verifying expectations. Record a golden log to regression test against and when you run it again in a test all the times are wrong.
...
3
votes
Should you define acceptance tests for vital yet simple behavior?
This looks like something which should be at least covered by unit tests. As for BDD, it depends.
As already pointed out, position and velocity are not directly compatible for addition; you've assumed ...
2
votes
Is creating a completely duplicate system for quality assurance (QA) of another a bad practice?
Any time you test a system you have to have to know what your expected outcome is.
The problem with having a system generate this expected outcome is obviously 'how do i test that system'
Even so ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
acceptance-testing × 101testing × 49
tdd × 22
unit-testing × 21
bdd × 16
integration-tests × 14
functional-testing × 10
agile × 9
design × 6
documentation × 5
requirements × 5
continuous-integration × 5
qa × 5
user-story × 4
automation × 4
selenium × 4
design-patterns × 3
web-applications × 3
estimation × 3
test-automation × 3
end-to-end × 3
programming-practices × 2
web-development × 2
microservices × 2
scrum × 2