Tag Info

Hot answers tagged

29

Anyone can perform code reviews. In my experience, I've found big benefits in having both dev and test perform code reviews - testers tend to look at code differently than developers (just as they look at functionality and features with a slightly different lens. At a higher level, software creation is a collaborative process - I suggest worrying less about ...


24

There is a useful blog post explaining the historical distinctions between Quality Assurance and Quality Control. I would suggest the latter is an appropriate alias for what we would term "testing" link archive.org link In essence, the author summarizes that: Quality Assurance - Prevention of faults by inspecting & testing the process Quality ...


16

Regression testing is specifically looking for bugs in functionality that was previously working and has "regressed" to a non-working state. I've never heard "retesting" used except in a common-sense way: Retesting is simply testing something again after it has been previously tested, and is a more general term since retesting doesn't say anything about ...


14

I would say it's best described that testing is a subset of QA. Your goal of testing is to ensure the functional requirements and metrics are met. This could be computational performance, clicks-per-action, user throughput, feature-completeness, defect rate, etc. Quality-Assurance is a broader-reaching goal that simply asks "Is the customer going to be ...


14

Just to muddy the waters even more I'm going to throw in "it depends". If you're looking for a practical answer within your own company then I'd ask them, as they are terms that change for different domains. Sometimes they are the same, sometimes they differ, and often they are defined at the whim of whomever writes the tests. Stuartf's answer is as close ...


13

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 ...


12

The truth is for a lot of people, there isn't a difference. A regression test is something that is going to check your test results against some requirements. Good examples of this are unit tests and functional tests. They tell you whether or not your application has regressed in its functionality (hence, regression.) Of course that assumes it was properly ...


12

To further User246's point, I'll just add a couple of general points here that I've found to be true throughout most organizations. Quality Assurance Quality Assurance is the process of assuring quality. This process in the truest sense can only take place if it is included from the very beginning of a project. In its truest form, this is a process that ...


11

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 ...


10

To supplement glowcoder's answer, mainly with more examples, automated regression tests are a subset of automated testing, but there are other kinds. Some examples of non-regression automated tests are: Any automated test that will be thrown away and not used to test for regressions is not a regression test, including unit tests that are not used later ...


10

For me it's a non-functional requirement, even if the key users have some requests regarding the instalation folder location (for better integration with other software packages). UPDATE: The tests for the available features detection are still placed in the functional requirements area, given that: the software can be bin-deployed in some cases, and ...


10

In most shops, there is no difference. Often, they are two names for the same process. In both cases, they are a subset of all your test cases, covering the main functionality of your system, to ascertain that the most crucial features are working, but not bothering with finer details. Many times the smoke test/sanity test is used as a gateway, through ...


9

I would agree with alexandrul's answer, with a few small caveats. First of all, it depends on what the installer does. If it's just a plain normal install, it would fall under non-functional. If there are options in the installer that greatly affect the functionality of the application (ie: add/don't add specific features), I would normally put it in my ...


8

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 ...


8

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.


8

There are a couple of aspects to this issue: The same terms being used differently in different locations/workplaces. For that issue I'd recommend getting a clear definition of the terminology in use there, even if it isn't correct. Why? Terminology usage in an organization is part of that organization's culture, and changing the culture isn't always easy ...


8

Sanity and Smoke testing are conflated. They are not the same and they have a different purpose! Smoke tests determines whether it is possible to "continue" testing and sanity tests determines whether it is "reasonable" to test. A smoke test should only ensure that application launches and that all the interfaces are responsive. You do not test a ...


8

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?


8

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 ...


7

I maintain a Glossary of Testing Terms (based on this: http://strazzere.blogspot.com/2010/04/glossary-of-testing-terms.html) that we use internally. In addition, we maintain a Glossary of Business Terms containing terms and acronyms for the industry in which we live, as well as company-specific terms. We have a periodic "Lunch and Learn" session where we ...


7

For some of your terms, CMMI has a specific meaning: Verification addresses the question :- Are we building the product correctly? This process looks at specifications, standards and guidelines to ensure that they have been correctly applied. For example if it is agreed (and this is usually documented in the Quality Plan) that standard IEEE xyz be used ...


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 ...


6

Personally, I wouldn't worry about it. There is no ISO standard definition for a shakeout test for software. People have all kinds of terms for distinguishing one kind of testing from another but everyone uses them differently. It's more important to understand that how you test depends on your goals (e.g. accepting a customized product before writing a ...


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 ...


5

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 ...


5

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 ...


5

Generally, at least in my end of the professional puddle, testing refers to the activities of banging on the product until it breaks. This is the part of QA that most people find intuitive and easy to grasp. Quality assurance is the entire process of finding issues (testing), documenting them, verifying their fixes, and most importantly, improving the ...


5

Lyndon makes some good points, it does depend on what your installer does. When I have worked with them in the past, mostly I deal with SaaS and not so much with client apps anymore, but there were a few in my past jobs and we mostly had functional tests for them. The rationale was we were not just dealing with installs, although that was there, but we ...


5

If you are trying to determine what jobs to apply to based on title, I think the best current practice is to pay less attention to the terms used and more attention to the company culture and the specifics of the job description. If you are trying to communicate with testers or QA folks, I think the best current practice is to use other words if you want to ...


5

These definitions will vary from one organization to the next. In the testing jobs I've had, regression testing has meant testing that verifies that features that used to work still work. In that context, a regression is a bug that did not exist in an earlier version of the product. In the testing jobs I've had, regression testing occurs after all new ...



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