Medical Billing Training Schools

Software testing

Definitions of Software Testing

Definitions of Software Testing:- Here many definitions of software testing are derived one by one
  1. Software testing is the process of evaluation a software item to detect differences between  given input and expected output. Comparing of expected result with the Actual result is called software testing.
  2. Software testing is performed to verify that the completed software package functions according to the expectations defined by the requirements/specifications.
  3. Software testing is a process which verify and validate the correctness, completeness, and quality of computer software which is under development or development is completed.
  4. Software testing is a process which is conducted to give the confidence to the stakeholder about the quality of a product
  5. According to the IEEE “Software testing is the process of analyzing a software item to detect the differences between existing and required conditions (that is, bugs) and to evaluate the features of the software item

 Need of Testing team:- 
In any organization there is a different department for the testers. Because no man in the planet can detect errors in their own works. Always different people or the people which are using a particular product report the faults/bugs in the products. So tester are necessary for all the organization to produce quality products.

What should be the objective of a tester? :- 
The testers main motive is to find more and more bugs as soon as possible. Testers should always keep in mind one thing that tester and developer are working for same objective. For a better and bug free product testers and developer should be cooperate each other.

Smoke & Sanity Testing



Difference between Smoke & Sanity Testing

Smoke Test:
When a build is received, a smoke test is run to ascertain if the build is stable and it can be considered for further testing.

Smoke testing can be done for testing the stability of any interim build.

Smoke testing can be executed for platform qualification tests.

Sanity testing:
Once a new build is obtained with minor revisions, instead of doing a through regression, a sanity is performed so as to ascertain the build has indeed rectified the issues and no further issue has been introduced by the fixes.  Its generally a subset of regression testing and a group of test cases are executed that are related with the changes made to the app.

Generally, when multiple cycles of testing are executed, sanity testing may be done during the later cycles after through regression cycles.



Smoke
Sanity

1
Smoke testing originated in the hardware testing practice of turning on a new piece of hardware for the first time and considering it a success if it does not catch fire and smoke.  In software industry, smoke testing is a shallow and wide approach whereby all areas of the application without getting into too deep, is tested.
A sanity test is a narrow regression test that focuses on one or a few areas of functionality. Sanity testing is usually narrow and deep.
2
A smoke test is scripted--either using a written set of tests or an automated test
A sanity test is usually unscripted.
3
A Smoke test is designed to touch every part of the application in a cursory way. It's is shallow and wide.
A Sanity test is used to determine a small section of the application is still working after a minor change.
4
Smoke testing will be conducted to ensure whether the most crucial functions of a program work, but not bothering with finer details. (Such as build verification).
Sanity testing is a cursory testing; it is performed whenever a cursory testing is sufficient to prove the application is functioning according to specifications. This level of testing is a subset of regression testing.
5
Smoke testing is normal health check up to a build of an application before taking it to testing in depth.

sanity testing is to verify whether requirements are met or not,
checking all features breadth-first.



Quality Assurance and Quality Control
Most people are confused with the concepts and difference between Quality Assurance, Quality Control and Testing. Although they are interrelated and at some level they can be considered as the same activities, but there is indeed a difference between them. Mentioned below are the definitions and differences between them:
S.N.
Quality Assurance
Quality Control
Testing
1
QA means ensure that implementation of processes, procedures and standards in context to verification of developed software and according to the requirements.
Activities which ensure the verification of developed software with respect to documented requirements.
Activities which ensure the identification of bugs/error/defects in the Software.
2
Focuses on processes and procedures rather than conducting actual testing on the system.
Focuses on actual testing by executing Software with intend to identify bug/defect through implementation of procedures and process.
Focuses on actual testing.
3
Process oriented activities.
Product oriented activities.
Product oriented activities.
4
Preventive activities.
It is a corrective process.
It is a corrective process.
5
It is a subset of Software Test Life Cycle (STLC).
QC can be considered as the subset of Quality Assurance.
Testing is the subset of Quality Control.




















Difference between Verification and Validation
The terms Verification and Validation are frequently used in the software testing world but the meaning of those terms are mostly vague and debatable. You will encounter (or have encountered) all kinds of usage and interpretations of those terms, and it is our humble attempt here to distinguish between them as clearly as possible.

Criteria
Verification
Validation
Definition
The process of evaluating work-products (not the actual final product) of a development phase to determine whether they meet the specified requirements for that phase.
The process of evaluating software during or at the end of the development process to determine whether it satisfies specified business requirements.
Objective
To ensure that the product is being built according to the requirements and design specifications. In other words, to ensure that work products meet their specified requirements.
To ensure that the product actually meets the user’s needs, and that the specifications were correct in the first place. In other words, to demonstrate that the product fulfills its intended use when placed in its intended environment.
Question
Are we building the product right?
Are we building the right product?
Evaluation Items
Plans, Requirement Specs, Design Specs, Code, Test Cases
The actual product/software.
Activities
  • Reviews
  • Walkthroughs
  • Inspections
  • Testing

It is entirely possible that a product passes when verified but fails when validated. This can happen when, say, a product is built as per the specifications but the specifications themselves fail to address the user’s needs.
  • Trust but Verify.
  • Verify but also Validate.