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 ...
That's my estimate. Some say 6750, others 500, others yet wouldn't go over one million steps per case.
Jokes aside, there is no fixed number nor there is someone who would set the limit. It is pretty vague anyway what is a single step case.
For example, you could write a test case in this way:
Login to the app
Add 2 items to cart
Confirm 2 items are ...
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 ...
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 ...
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.
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 ...
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 ...
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.
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, ...
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 ...
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 ...
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 ...
Using the word allowed suggests there is or should be a fixed rule. I think what you are looking for might be a guideline.
The guidline would depend on factors like the context, the domain complexity, the risks, the level of skill of the people that execute the test-cases, etc..
I would suggest that you start with a max of 10 steps. Once you go over it you ...
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:
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. ...
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 ...
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 ...
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 ...
Martin Fowler has a good article just about that
Integration tests collect modules together and test them as a subsystem in order to verify that they collaborate as intended to achieve some larger piece of behaviour.
Whenever some consumer couples to the interface of a component to make use of its behaviour, a contract is formed ...
First, you have to understand the difference between UX and UI
In simple words
UX: Focuses on designing a UI that enhances the user experience. Means it ensures that the UI design is designed with ease of use, easiness in Accessibility and feel in looks.
UI: On the other hand, ensures endpoints for a user to interact with the product.
So a simple UI ...
Software quality analyst is responsible for applying the principles and practices of software quality assurance throughout the software development life cycle.
Some of the tasks of software quality analysts are:
Participate in QMS management review meetings.
Approves the QMS documents of which QA manager is the main author.