Posts tagged Know
Know the Regression Testing & its Best Practices
Feb 16th
First of all let us see the meaning of the term Regression Testing
According to Wikipedia, “Regression testing is any type of software testing which seeks to uncover software regressions”. Such regressions occur whenever software functionality that was previously working correctly, stops working as intended. Typically regressions occur as an unintended consequence of program changes. Common methods of regression testing include re-running previously run tests and checking whether previously fixed faults have re-emerged.
Concluding Definition of “Regression Testing”:
It is quite natural to have changes in the code during software development and maintenance phase. Thus a software program that happened to execute properly earlier might stop functioning the same way after the changes. Hence re-running of the test cases of a program, which functioned correctly before the changes, and with an objective of detecting failures, can be concluded to be “Regression Testing”.
Regression testing is a quality control measure aimed at ensuring the following two conditions:
a) Newly modified code meets the specified requirements.
b) Unmodified code has not been affected by the change as above.
Going by the definition, regression testing is repetitive. Hence majority of the tests would be best suited to automation, where after performing few test iterations, test automation would prove to be extensively costs effective as compared to the strenuous manual process.
Why defects get introduced during changes?
Correctly working applications fail due to either incorrect or incomplete changes made in them. In software industry, the rate of defect introduction in the applications is quite high. In general, one out of six attempts made over the applications to correct them are faulty themselves.
The prime reason of high rate of defects getting introduced is
1) Poor system documentation held by the developers.
2) Tendency of the developers to tackle the symptoms instead of identifying the underlying causes.
3) Lack of experience of the developers.
Objectives of regression testing:
1) The objective of regression testing is to identify unexpected defects. These defects or faults are the ones, which remained in the system, due to the reason that, while changing the code, the developer probably could not completely understand the internal correlations of the code.
Hence regression testing remains the only reliable means to provide adequate confidence that changes or additions in the code are safe & are not liable to “break” the existing functionality of the application.
Regression testing thus becomes a must, every time code is modified or is used in a new environment. It is essential to verify the integrity of the code with a view to identify & fix the defects as quickly as possible.
2) Objective of regression testing is not only limited to testing the correctness of an application but extends to track the quality of its output as well. For example, while designing a compiler, regression-testing can lay focus on the size of the code, time for doing simulation and time to run the test suites.
What are the Best Practices / strategies for Regression Testing?
1) Formulate a policy for regression testing on regular basis, if we want to achieve success in developing reliable & definitely predictable software applications.
2) Perform standard actions defined in the testing procedure & check the desired responses for correctness. Any failure of the system to comply with the set of desired responses becomes a clear indicator of system regression.
3) Ensure that the regression test must be correct & should not be out of date.
4) Do careful analysis of every defect escaping detection during the process of regression testing. This would need a careful updating of the regression test cases, so that such defects don’t give us a slip in future.
5) Generally unit test cases & integration test cases are used to build regression test cases; hence instead of having one large regression test, it is better to create a logical batch of such test cases in the form of a comprehensive test suite. This would provide flexibility of executing small unit tests in case of urgency or time-pressures.
6) Going by the famous 80 / 20 principle of management, we can assume that there is a great probability of 20% functions being used during 80% of the time. Hence test suites for regression testing can be designed accordingly.
Severity of a problem in a comparatively lesser common functions would be lesser being used by small number of users. Thus major focus of our regression tests must lie over excessively used transactions, menus & screens etc.
7) For smaller projects, do regression testing after every successful compile or at least once in a week. Such repetitive activities can be automated with the help of tools like HP-QuickTest Professional etc.
Depending upon the risk factors across the business, we can design the regression test suite. It has been seen that there are certain types of failures, which are not frequent, but whenever they happen, they leave serious impact on the business process.
Hence whenever any change is made to the system or to the environment, we should perform regression tests covering such vulnerable areas having negative impact on the business.
9) We need to identify the application areas known to have high rate of failures & include more regression tests in them.
10) Tightly link the regression testing with functional testing & create the regression tests out of successful test cases created & used during the functional testing.
11) Regular rerunning of successful functional test cases (which happen to verify the desired functionality of the application) as regression tests.
12) Regression testing should be like a chain, starting from the unit level, involving adaptation & rerunning of the unit tests after sensing any change to the unit. The chain of regression tests continues further across integration testing, system testing, user acceptance testing and across all operational phases under the SDLC.
13) As a best practice, before releasing any build across the masses or across any live environment in the organization, stringent regression tests must be executed. Such an approach would help in uncovering major defects if any, which could otherwise have serious Implications towards cost, productivity, schedule & most important being the adverse effect on company’s reputation.
14) As a best practice, execution of regression tests at regular intervals should be made a continuous exercise in case of Web based & all multi user systems. Regular regression testing helps in maintaining a continuous check on the performance of important transactions being within the specified limits.
Any factor responsible for slowing down the response time for any major transaction can be easily pin pointed by frequent regression testing.
15) Apart from testing the functional aspects, we need to perform regression tests covering non-functional attributes of the application like its performance, security, usability etc. Reason being, it has been seen that in many cases, a minor change in the code or design produces considerable effect on the system performance.
16) Before running the time consuming regression testing scenarios over newly delivered code, doing Smoke Testing or Sanity Testing is helpful in saving time, since Smoke Testing or Sanity Testing generally uncover the obvious errors. Early detection of such errors can lead to early fixation.
17) We should have a careful eye on the side effects of the bug fixes. There is great probability that the bug gets fixed but at the same time our fix could have introduced another bug in the system.
18) Regression testing must be treated as an integral part of the extreme programming method of software development. This would involve extensive automated testing of the complete application at every stage during the SDLC.
Pitfalls of Results of Regression Testing What are the Benefits of having a Good Regression Testing Policies? 1) Great improvement in effectiveness of the software development & testing personnel. 2) Great success of the development projects resulting in reliable & stable applications. 3) Development teams modify the code without fear of breaking the previously verified functionality. 4) Problems arising out of code modifications get identified early during the life cycle. 5) Great saving of man-hours spent in hunting for & resolving software faults introduced by code changes. What are the attributes of a Good Regression Testing Policy? 1) It defines sound guidelines for regression system usage. 2) It defines concrete plans to consistently implement & integrate the defined guidelines into the SDLC. This results in detecting existing errors as well as the newly introduced errors due to unchecked modifications made in the code over a passage of time. 3) It provides mechanism to measure & monitor the application of the policy and system to report the data being tracked. 4) Sound documented system of controlling & maintaining all types of regression test suites being company assets of great importance. The policy outlines system for backing up, configuration management, maintaining the latest ones & defining clear-cut ownership and responsibility of specific personnel to manage the regression test suites. What are the reasons that Regression Testing is not so popular? 1) Software development companies feel that regression testing is a bit complicated and difficult to maintain. 2) In most of the cases, companies don’t have some well-defined & implemented policy towards regression testing. 3) Even if some policy is available, generally there is a lack of commitment from the management side towards implementation of such policy.
Despite many benefits of regression testing, it is not practiced by many organizations probably due to the following reasons. 1) We should not become happy & get satisfied just because the system has responded as desired, since there can be every probability of presence of introduced defects, which might have escaped the detection.
2) In majority of companies the critical functionality of the applications are verified once, and an assumption is drawn that it would continue to behave well until modified intentionally. However, the fact remains that even minor changes in code as a matter of routine are liable to have serious unexpected side effects, which can probably break the functionality verified earlier.
http://www.softwaretestinggenius.com
A Storehouse of Complete Knowledge on Software Testing & QA under one Roof
Know How the Swab Drug Test is Conducted
Feb 13th
Swab drug test is conducted to check for the drug abuse or the presence of alcohol in a sample. It is very easy to perform and it gives out accurate results almost at any place. It is so accurate that it reduces the risk of repeating the test. This test is just a single step process, which is very simple and any one can perform this test at any place according to the convenience.
• Prior to the test:
One has to be very carefull in conducting the swap drug test. In order to attain the accurate test result, the person who is about to undergo test is advised not to eat, smoke or drink for at least 10 minutes before performing the test. If the donor has had something, he has to wait for 10 minutes to give the sample for the test for accurate results.
• Sample collection:
In swab drug test collecting the sample is very easy. The cotton swabs are used for collecting the saliva samples from the donor. The donor has to place this cotton swab below the tongue for about 10 to 15 minutes. The strip will absorb saliva from the donor, which is further used as the sample to test drug abuse or the level of alcohol presence in the sample.
• Lab testing:
The next process after sample collection is laboratory testing. The saliva sample collected in swab is put into a small specimen vial and is sealed. The specimen is tested through an appropriate testing strip in the laboratory, to test the drug abuse and the level of alcohol present in the sample.
The swab drug test is just a process of few minutes, but gives out accurate results. This test helps in detecting active drugs present in the saliva. This test is very helpful to an individual because it is accurate and instant result oriented. More over this test can be performed at any place and at any time according to the convenience. An individual can perform the test independently without others assistance even for the first time as it is a single step process.
DrugAlcoholTest.com is an online store offering Drug Test and drug screening products in several formats including blood, Urine and Oral Drug Testing Kits. These drug-testing kits can be used discreetly for at Home drug test or for random employee Drug test. Some of the popular products are Saliva Drug Test, Breathalyzer and Marijuana Drug Test Products.
Know About Specimen Validity Test and Adulterants Tested in it
Feb 13th
Specimen validity testing refers to the tests conducted by laboratories to determine if a urine specimen is diluted, adulterated or substituted. Prior to urine drug testing, specimen validity test is conducted to know whether the specimen is tampered or not. To report a specimen as tampered, laboratories conduct an initial validity test and a confirmatory validity test. Oxidants, Creatinine, Specific Gravity and PH are few substances detected in specimen validity test.
Why to conduct specimen validity test?
Specimen validity test examines the validity of specimen i.e., up to how many hours the urine specimen can be used for any drug testing to get appropriate results and to detect any substance of abuse, which does not present in normal urine specimen. A specimen containing the minimum level of Creatinine and specific gravity values is identified as diluted.
Adulterants tested in specimen validity test
Adulteration means tampering urine specimen with an intention of beating the drug tests. Specimen validity test determines adulterants presence in the specimen, which are discussed below.
• Creatinine: This is a waste product of Creatine. A person may attempt to dissolve it by drinking excess of water. Low Creatinine level indicates that urine specimen is diluted.
• Nitrites: Nitrite is a chemical which doesn’t present in normal human urine. It is used to change the specimen composition. The specimen is adulterated, if it is found in the specimen validity test.
• Oxidants: Oxidants are used to destroy major Cannobinoid metabolite in urine specimen. Presence of oxidants in urine specimen indicates the adulteration of urine specimen.
Criteria for testing adulterants
The following criteria is established to test adulterants in specimen
<b>• PH:</b> PH test used to identify the presence of acidic or alkaline adulterants in urine. Normal PH ranges from 4.0 to 9.0. Level of this substance outside the range indicates that sample has been adulterated.
Specific Gravity: This test is used to know whether the sample is diluted or not. Normal range of Specific Gravity is from 1.003 to 1.030. Abnormal levels of Specific Gravity, indicates that the urine specimen is adulterated or diluted.
Specimen validity testing is the efficient way to examine the presence of any inconsistencies in the urine specimen. This test helps you in finding out the abusers who try to adulterate drug testing. Accurate results of any drug test are possible by conducting this test before the actual drug testing.
DrugAlcoholTest.com is an online store offering Drug testing and drug screening products in several formats including blood, urine and oral Drug testing kits. DrugAlchoholTest.com offers FDA-approved urine drug testing kits as well as DOT-approved alcohol testing products. Some of the popular products are Saliva Drug Test, Breathalyzer Marijuana Drug Test Products.
Know About Laboratory Urine Drug Test
Feb 13th
Many types of drug testing techniques are available for detecting drug abuse. Urinalysis is one of the most commonly used urine based drug testing as it is a simple technique, and less expensive. Urine drug testing has been popular and employed successfully for testing drugs across the organizations, schools, at home etc.
Drugs tested
Laboratory urine drug testing detects the presence of many drugs with accurate results. This drug testing can detect maximum of 10 most commonly used drugs at once. It detects the parent drug or its metabolites by demonstrating recent use of prescription medications like opioids, benzodiazepines, amphetamines, barbiturates and illegal substances like heroin, illicit cocaine, marijuana, phencyclidine (PCP). This test is used as a screening tool to determine the prior use and concentrations of drugs present in the body.
Procedure followed
For laboratory urine drug test, collection and testing urine specimen is done under the presence of an authorized person. After this, tests are conducted on collected specimen for detection of drug tests by immunoassay screen followed by GS-MS confirmation test. Chemical highlighted test strip is used for this test. The test strip should be examined carefully with the help of lab testing devices depending upon the types of substances to be detected.
For each drug the detection periods and cut off levels depend on the nature and usage of the drug. The detection period of any drug through laboratory urine drug testing is from 6 hours to 3 days from the time of consumption. All screening tests are performed by the immunoassay based on the technology of the testing kit. Confirmatory tests are performed using either gas chromatography/mass spectrometry (GC/MS) or any other superior technique. The samples are treated with either the technical or all of these methods to verify the results. Confirmation results are reported as positive or negative based on SAMSHA cut off levels and all non-negative results are confirmed prior to any disclosure.
Laboratory urine drug test is used as standard test for drug detection. Reliable results are possible with this laboratory drug testing and they can be used as a proof drug abuse. The above information gives you a helpful insight about the laboratory urine drug test, drugs detected through this and the procedure followed.
DrugAlcoholTest.com is an online store offering Drug Test and drug screening products in several formats including blood, urine and oral drug test kits. DrugAlchoholTest.com offers FDA-approved urine drug testing kits as well as DOT-approved alcohol testing products. Some of the popular products are and marijuana drug test, Breathalyzer and saliva drug test Products. A professionally management company that is a responsible and socially aware company with a mission to make ours a healthier and better society.
George Foreman 360 Grill – What You Need to Know Before You Buy
Jan 9th
One of the newest and most adaptable of the George Foreman grill series is the model 360 Grill. This unit comes complete with a removable grill surface grill along with a set of 3 different grill plates which can provide you with a variety of fabulous grilling options.
This grill is not one of the ones which are usually advertised on your TV set. It is not generally advertised on the air ways by the celebrity himself. This particular model grill is of a more advanced design and can tackle any grilling job from ribs to steaks as well as make your favorite pizza if necessary.
The 360 Grill can accomplish a vast number of grilling on a variety of foods. It is unique and simple to operate and use with its removable grill trays. The various plates use a spring loaded catch to snap into place securely.
This George Foreman Grill comes complete with both the upper and lower grill plates which have been designed with raised ribs to provide your finished entree with that popular grilled look. You also receive two quesadilla plates that are excellent for making your fresh grilled quesadillas. Now you merely have to pop a couple of tortilla shells on the grill with some cheese and in no time at all you have some very tasty quesadillas.
In addition the GF 360 comes with a flat pan style plate that is ideal for making those Friday night pizzas. With a little imagination you can perhaps come up with some additional uses for these useful plates as well.
The plates come with both a top and a bottom surface plate that snaps into the grill frame easily and securely. Usually both plates touch your food tin order to cook it except for the pizza pan and it rests safely on a lip attached to the bottom plate. All the plates are created with a non stick coated to ensure you have a quick and simple cleanup when you are through grilling.
Along with the grill itself you receive a manual with your 360 grill which includes several recipes, two scrapers for the grill and several dip trays.
As with many of the newer George Forman products this grill features a floating hinge which permits thicker foods with their larger thicknesses to maintain the grill plates on the food evenly. Although the plates rest on your food the floating hinge will place the top plate evenly across your food so you end up with an even cooking surface. This is particularly important when you are grilling burgers, fish or steaks.
As you can readily discover the george foreman 360 grill provides you with a great way to enjoy the cooking of grilled food without the added fat found in most grilled foods. The grill plates are specifically designed to drain the fat away from your meat and into your waiting drip tray. Find out more tips about george foreman grills at http://georgeforemangrills.myreferenceguide.com