Subscribe by Email


Showing posts with label Smoke test. Show all posts
Showing posts with label Smoke test. Show all posts

Tuesday, July 16, 2013

Critical to do a smoke testing of the regular build - saves time and effort

For teams that have setup a smoke test of their regular builds, the benefits are such that they may not even understand about why such a post needs to be done; after all, it seems to be obvious that if you put a smoke test to do a quick check of the regular build (in our case, it was a daily build), there are multiple advantages. The most prominent advantage is that as soon as the build is available, the smoke test can be triggered to be run automatically, which in turn will take the build through a series of tests and determine whether there is a problem that needs to be resolved.
Sounds great, right ? After all, there are all advantages to having such a smoke testing of the regular build, but a number of teams do not use it, and at the same time, there are some additional effort that does need to be added in the calculation. Let me lay out the case which we used to have. Because of the size of our code and the amount of synchronizations that needed to be done with the source safe, we would have a daily build that would kick off in the night around 11 PM and typically get done around 7 AM. Now, the problem we used to have was that it was not possible to get anybody to be there to check whether, even if the build did get formed, whether the build would even launch and whether there were any major components or workflows that were broken.
When somebody from the testing team would typically get in around 9 AM, they would check the build and then provide their feedback. Our earnest hope used to be that there no problems revealed in this check. However, once in a while, the morning verification would reveal some problems that needed to be fixed, and it would mean that the build for that day would be late or would even have to be canceled, which had some impact on the defect find / fix rate.
The ideal solution was to have a smoke test run on the daily build. Now, the problem was that thought it sounded like an ideal solution, there were some incremental efforts that we had to calculate:
- Somebody had to write the smoke test cases and integrate that with the build system to provide an email output to several members of the team about the success or failure of the smoke test
- As and when we made some changes to any of the major UI or the workflows, we would need to update the smoke test to incorporate these changes. Sometimes these would get missed, and then you would find that the Smoke test stopped in the middle of some feature, and then it would take effort to do the diagnostic of what the problem was.
- The smoke test did yield some false positives as well. The team would then have to spend some time looking for the break in the build, and also examine whether this was a genuine catch, or whether the smoke test malfunctioned, and the problem could be ignored.
- The tools for running the smoke test could be expensive and the expenditure may need to be approved by somebody who does not understand as to why there is a need for such a software, so some amount of negotiation and discussion would be needed.
- Suppose the smoke test would start running at 7:30 AM and run for around 45 minutes, somebody from the team would need to be in place or looking at the report from the smoke testing at the completion time of the smoke test, and hence there would be a rotating chair where team members would be assigned this role for a specific period.


Friday, June 22, 2012

What are different tools used for smoke testing?


The success of a software testing methodology depends a lot on the quality and type of tools that are being used to carry out that particular test. 
In this article we have discussed about the tools that are used for smoke testing. One can find so many tools around that are available for automating the smoke tests. 

Functions performed by these tools


Using these tools a lot of functions can be performed few of which have been mentioned below:
  1. Using these smoke testing tools one can easily and quickly write the test cases and scripts as well as automate them and guess what? These tools do not require any programming.
  2. With these smoke testing tools, the validation of all the builds can be carried out easily before any changes are introduced in to them.
  3. Nothing comes as handy as these smoke testing tools when one needs to stabilize the whole build process.
  4. The available tools make it easy the verification of a build to determine its readiness for further full scale testing.
  5. The smoke testing tools help in conducting lightening fast tests determining whether or not the major functionalities are intact and still working as expected.
  6. The tools help in reducing the drudgery of the testers as well as the developers by helping in the early detection of the problems and errors.
  7. These tools help a great deal in cutting down the overall development costs by significant margins providing the team with sufficient time period for developing the software system or application.

Tools for Smoke Testing


- So many tools are available using which you can perfect your tests like advanced web recorder, object recorder, editor and so on. 
- The tools provide so many actions to be performed for editing the tests if it is required to make any changes in the software system or application. 
- Such an approach to testing i.e., using tools allows flexibility between the test and testers and eliminates the need of creating new tests. 
- There are tools called “work flow designers” that come with an intuitive graphical representation and using which you can easily create as well as manage the work flows of high level of the entire suite of your smoke tests. 
- There are testing tools available that help you introduce check points in the application so that at any point your software application functionality can be further verified. 
- There is one tool available for testing methodologies that is perhaps the most sought after testing tool. 
- This tool lets you convert a test script in to an executable code and then run it on multiple systems without installing testing application on each and every machine. 
- This feature of this tool facilitates an automation that never existed before. 
- Any of the test scripts can be run and with any inputs operating from any data base or application software and almost in every kind of environment. 
- Some reporting and log tools have been introduced which possess advance reporting features like:
  1. Time lines
  2. Report customization tools that are quite easy to use.
  3. Report dash board
  4. Audit trail capability (this feature provides you with a complete data base of all the events that took place in the automated testing environment.)
  5. Visual logs
- With a tool having all such features a tester can easily analyze the reports with visual aids and fix them quickly.
- These tools provide the testers with a more complete view of the smoke test runs. 
- Though smoke testing can be carried out manually also it is advisable to use automated test tools which initiate tests by a similar process that generates the build itself.


Thursday, June 21, 2012

Explain Automation of Smoke Testing?


Smoke testing though being a very useful, quick  software testing methodology, if not carried out in an automated way can take up a lot of time and efforts. 

Need for Automation


There is one more thing to manually carry out smoke testing which is that if later if you come to know that the testing was being carried out in wrong direction then it will surely give you a headache to perform whole of the testing once again and again if required. 

Why automation of smoke testing useful?


- Automation of smoke testing proves to be very useful in saving time and efforts.
- Smoke testing is considered to be one of the most effective ways that are used for the validation of the changes that are made to the software system or application program code at a high level before a detailed testing is undertaken on the new build. 
- Carrying out smoke tests can help a lot to stabilize the builds and verify that there are no major problems in the software system or application.
- The reliability factor of the smoke testing determines the success of the smoke test i.e., the more you can rely up on the smoke test for finding major problems, the more you can cut down the costs and increase the quality measures of the software product or artifact.
- Smoke testing provides a reliable, scalable solution that can be quickly and easily be automated. 
- One of the best things about automating the smoke test is that it does not require any programming.
- Smoke tests can be quickly written and automated by testers of any skill level within few minutes.

What functions are provided by the tools used for automating smoke tests?


There are so many tools available for automating the smoke tests. With these tools you can perform the following functions:
  1. With these tools smoke tests can be written and automated within few minutes and without requiring any programming.
  2. Using these tools all the builds can be validated before any changes are incorporated in to them.
  3. These tools are quite helpful when it comes to stabilizing the whole build process and verifying the readiness of a build for further full scale QA testing.
  4. With these tools quick tests can be conducted ensuring that the basic functionality is still intact and is working properly.
  5. The overall quality of the product can be improved since the problems can be detected early.
  6. Costs can be reduced ensuring that the team is having sufficient time for developing the product.

How a smoke test is automated?


- Smoke testing is usually preceded by quality assurance.
- As soon as the errors are discovered, it requires less efforts and money to get fixed.
-In automated smoke test, a continuous build process is deployed that automatically performs a smoke test each time a build is finished developing. 
- With such a methodology, the developers come to know easily if the recently developed build caused the problem. 
- Depending upon the configuration of the build tool and the software system or application, the process of implementing the automated smoke tests will vary despite of the basic steps being followed the same. 
- After the successful completion of the build, some set up steps are performed before the application is tested. The steps may include:
1. Copying files to the appropriate places.
2. Setting up the data base tables.
3. Starting a server.
4. Installing licenses.
Next step is to obtain all the QA files required for the smoke test and running the smoke test. 
- The report of the smoke test is saved and final step involves clean up including the steps:
  1. Stopping a server
  2. Emptying data base tables and
  3. Deleting files.


Facebook activity