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 ...
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 ...
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 ...
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?"
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 ...
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 ...
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]
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 ...
Lets say you are testing an 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 ...
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 ...
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 ...
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 ...
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 ...
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, ...
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.
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 ...
This answer does not provide the exact definitions, just the
1. Accessibility Testing
Testing carried out to verify whether the application is user-friendly to the physically disabled user.
For example, we can consider the Kindle e-book application. For this application, we check whether the application has the feature to read the e-book ...
Corner Case Testing:
When the system breaks only for a specific valid input
Imagine a function getcar() that that takes a number and all numbers from 1-5 are valid inputs:
getcar(wheel=?) function works with all numbers but fails for getcar(wheel=3)
Edge Case Testing:
Here we check that the system handles extreme values of valid limits.
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 ...
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, ...
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:
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 ...
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 ...
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 ...
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 ...
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. ...
Task: A task (in layman terms) is basically a piece of work which needs to be done/accomplished. This term is not only used in Software Industry but also in other industries and organizations e.g. in Banks everyone is assigned some tasks of Teller, Approving request, opening accounts etc.
As per the business dictionary task is defined as 'The smallest ...
A web search of the terms resulted in,
Scalability Testing, is the testing of a software application to measure its capability to scale up or scale out in terms of any of its non-functional capability.
Performance, scalability and reliability testing are usually grouped together by software quality analysts.
The main goals of scalability testing are to ...
AUT Application Under Test or Automated Unit Test(s)
BDD Behavior-Driven Development
BP Best Practice
CI Continuous Integration
CD Continuous Delivery
DRE Defect Removal Efficiency
E2E End to End testing
HCI Human Computer Interaction, or Human Computer Interface
IV&V Independent Verification and Validation
KPI Key Performance Indicator
MTBF Mean Time ...