50

I've seen TDD/BDD/ATDD used interchangeably with Scrum/Kanban/Agile, so the confusion is understandable. Here's my take on the differences: Waterfall is a software development methodology where each kind of development activity happens in a separate phase (requirements gathering, design, development, testing...). Typically, waterfall projects work best ...


22

The traditional definitions would be something like this: A test suite is a collection of test cases related to the same test work. You might have a suite for regression, one for build verification tests, a suite that is specific for a component, and so on. A test plan is generally a document which describes testing approach and methodologies being used for ...


18

Service-level agreement A service-level agreement is an agreement between two or more parties, where one is the customer and the others are service providers. This can be a legally binding formal or an informal "contract" (for example, internal department relationships). The agreement may involve separate organizations, or different teams within one ...


16

Same thing. No doubt there are companies that use those terms to mean different things, but their usage is not universal. If someone asks you that question in an interview, you should be able to say, "Where I work, the terms are interchangeable. Do they mean something different here?"


14

Here is how I use the terms. Code coverage is a measure of how much code is executed in response to a stimulus (e.g. running a test). Test coverage is a measure of how much of the feature set was executed as a result of a test. Others will have other definitions. When someone uses those terms, if you are not sure what they mean, ask them.


14

Welcome to SQA, user5440. "High level software QA" could refer to a architect-level position, or a management position, or something else; maybe even a job testing zeppelin software, or testing marijuana distribution software in California. Or it might mean ordinary testing from the perspective of someone who doesn't know anything about software, or who ...


13

Preface about my biases: I don't find the term "checking" evocative, and I don't find the distinction between checking and testing helpful. Given that... First, the word only suggests that checking is somehow trivial. I think checking is important. And creating useful checks is hard. Second, a key distinction between testing and checking is sapience. It ...


13

Major has more impact on how users can or cannot use the application than minor. There is no industry standard what these terms mean. If it is necessary, you need to discuss the meaning with your team/company, as the meaning should relate to which action, turn-around time should be used. Personally I do not care for priorities in words. Rather prioritize ...


11

Automated tests are tests that can be run automated, often developed in a programming language. In this case we talk about the individual test cases, either unit-tests, integration/service or end-2-end tests. Test automation is a broader concept and includes automated tests. From my perspective it should be about the full automation of test cycles from ...


10

Pesticide Paradox The phenomenon that the more you test software, the more immune it becomes to your tests - just as insects eventually build up resistance and the pesticide no longer works. [Beizer] from: https://strazzere.blogspot.com/p/testing-terms-glossary.html


9

To put the other answers in context, there are some related ideas here, which may be stomping on each other. Defect insertion (or discovery) -- reference to which phase of system (e.g., requirements development, design, development, implementation, integration, test, sustainment) a defect was inserted/injected (or discovered) in the product. So a defect ...


9

I've always called this "Failover Testing" as well. Who told you that this was "incorrect terminology and should only be used in relation to automated testing"? Did this person offer an alternative?


9

The PageObject Model is not a framework. A framework is: a basic structure underlying a system The Page Object Model is: an object repository design pattern here. Using the POM might result in a personal testing framework as it creates a part of the underlying structure for your tests. but Data Driven because you always need to extract data from a ...


8

Component testing is testing of specific module or program.It may be done in isolation from rest of the system depending on the life cycle model selected for that particular application. Stub and driver are used for competent testing. These both are consider as component. Best example is given below : Suppose you are testing one application which have 3 ...


8

Latent Bug : A latent bug is a bug which is present in the system from previous iterations or release (in your scenario Sprint 1). They are either low priority bugs, which either went undetected or were not reported. Here is a good description : What is a latent bug? Golden Bug : If a bug happens to appear, in every iteration or release, affecting the ...


8

Kate's answer is great, but I want to throw in my 2 cents for differentiating TDD/BDD/ATDD. TDD is writing tests first and letting those tests drive the development of your application. This introduces the idea of Red/Green/Refactor. The basic process is to: Write a failing test Make the test pass with application code Refactor the application code for ...


8

Bug, Defect, Issue, Fault, Incident, Ticket are all the same and are interchangeably used in organisations. People can debate and say they agree or disagree and quote references but the ground reality is, it does not matter what you call it as long as it is tracked, referenced as needed and ultimately fixed. My experience shows below: In Bugzila you will ...


7

Your summaries are fine. Alas, I don't think they'll help you avoid confusion when you talk to other people. If people in a conversation are using the words differently, you'll have to sort out the meanings, and injecting my own summaries never seems to help. Sorting the meanings is always a negotiation. Fortunately, for most conversations it isn't ...


7

You are neither tester nor checker. Or you are both. I believe the purpose of the article you referenced was to illustrate different ways to approach our jobs, not a way to drop people into buckets so that they can be treated differently. The role you play in your organization is a consequence of many circumstances, e.g. your general experience, your ...


7

This is a terminology issue: what Beatty is saying is that conventional testing methods are unable to detect those conditions. Essentially, they don't manifest in typical testing activities (and detection requires detailed analysis of the code base by someone with access to and knowledge of the code - which many testers lack). Certainly in my career I've ...


7

Lets say you are testing a application. You have written a set of test cases. Now you run one cycle of testing. You find few bugs and report them to the development team. Development team fixes the bugs and reverts to you with the updated code. You again execute the same set of test cases. This time you find that few of the bug were still not fixed and you ...


7

If we refer to ISTQB glossary of terms then test suite: A set of several test cases for a component or system under test, where the post condition of one test is often used as the precondition for the next one. test plan: A document describing the scope, approach, resources and schedule of intended test activities. It identifies amongst others test items, ...


7

Kanban and Scrum are Agile process frameworks and therefor have short iterative development cycles as compared to the longer separate phases of waterfall projects. Agile projects focus on getting a working product in short iterations, each iteration should deliver a piece of deploy-able product. BDD, TDD and ATDD are not development methodologies and can be ...


7

The difference between Waterfall methodology and an iterative methodology (agile, Scrum, etc.) is that Waterfall requires each step of a defined process be performed to completion in a particular sequence. In an iterative methodology you complete small slices of the problem at a time by gathering just a few requirements and coding each one to completion, ...


7

I think the test-case is the what and the test-script is the how of the test. Its possible to defined high level test-cases to describe what needs to be tested. The test-scripts contain all the detail to really execute the test.


7

Yes, Unit-testing is only software related. No testing the implementation of a dashboard cannot be considered Unit-testing. Unit-tests typically test relatively small programming functions. A dashboard is the result of a lot of programming classes which consist of even more smaller programming methods (a.k.a. functions). Unit tests are typically automated ...


6

It is often risky and problematic to test the integration between your system and external systems that you do not control. For example, if your system performs financial transactions, it is daunting to test whether you perform those transactions correctly. Sometimes there are "test" versions of the external systems available for integration testing. If ...


6

Robust is the opposite of fragile; it is the ability to function correctly under a variety of conditions -- perhaps even under conditions that change or that you did not anticipate. Robustness testing is the practice of measuring robustness. Fault injection and mutation testing are ways to measure the robustness of your tests. They don't tell you anything ...


6

You have some choices here. You can go with formal definitions like the ISTQB definition, or you can treat the definitions the way your organization handles them. Software testing is a field where definitions tend to vary depending on the understanding of the team and how they work. That said, in my experience interface testing can be one of two things: A ...


6

There are lots of kinds of testing, and they vary by company and organization. Different people use different terms. There is no special value in any particular set of terms; you just need to know what the speaker means when they use them. Frankly, I think it was a stupid question, or perhaps even a trick question to see how you deal with ambiguity. ...


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