17
Smoke Testing

Smoke Testing

  • Upload
    kanoah

  • View
    461

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Smoke Testing

Smoke Testing

Page 2: Smoke Testing

www.kanoah.com

ABOUT US

Kanoah is an innovative company providing ground-breaking solutions to software testing professionals on the

Atlassian JIRA platform

Page 3: Smoke Testing

About Kanoah Tests

Kanoah Tests is a full featured test management, integrated seamless into JIRA with the same look-n-feel. No need to learn or switch between different applications

Coordinate all test management activities including test planning, authoring, execution, tracking and reporting from a central location

Kanoah Tests enables you to track testing progress and quality to foster collaboration and visibility across traditional and agile teams

Get real-time insights into your testing progress with out of the box reports

Easily integrate your automated tests and submit test results with Kanoah Tests’ powerful REST API or use the API to automate many areas of the application

Page 4: Smoke Testing

After looking for several years at plugins for test management we finally found Kanoah Tests. The other solutions were either too complex, didn't integrate well with Jira, or were focused on a single project. Kanoah Tests proved to be an elegant solution that allowed linking between any project. Kanoah has been very responsive to feedback, requests, suggestions as well bugs. The customer service is awesome. I'd highly recommend Kanoah Tests to teams of any size looking to simplify test management and consolidate tools.

Don Pierce

Robert Murhamer

Liked Kanoah from the moment I discovered it. Integrates nicely with JIRA and especially with Agile. Test cases can be authored right from the story level, but has all other functionality a Test Case Management solution would need to have, ranging from creating test plans, executing test cases, importing test cases, API for automation, a.s.o. Additionally the team at Kanoah is amazing and responding to any question very quickly. It wasn't hard to sell to my management to purchase Kanoah. Will highly recommend Kanoah to anybody.

Zour Brosh

I just start working with Kanoah and I am impressed how it's simple to manage tests without unlimited non-used features like in most of the test management tools and still to get the needed functionality and results. The integration with Jira is a great working solution that enable to share testing and development in simple way on one system. I recommend to use Kanoah for testing management. It will help to do Kanoah as much as possible customizable like Jira to match each group methodology

For more reviews, visit: https://marketplace.atlassian.com/plugins/com.kanoah.test-manager/server/reviews

Reviews

Page 5: Smoke Testing

Key Features

Native seamless integration with JIRA

No need to learn or switch between different applications

Perfect for agile & traditional testing approaches

Manage, organize and track all your testing efforts in a central place

Reuse test cases across your projects

Powerful REST API

Establish clear traceability between requirements, test cases, and defects

Execute test cases and track results that matter

Get real-time insights into your testing progress with out of the box reports

Live statistics accessible to your entire team

Page 6: Smoke Testing

Benefits for the testers

No need to lear or switch between different applications

Reuse test cases across projects for regression

Link test cases to requirements and defects

API support for automated efforts

Benefits for the teams

Informed decisions based on real-time insights

End-to-end traceability and impact analysis

Centralized Test Management

Save time and increase productivity

Page 7: Smoke Testing

Why choose Kanoah Tests

Coordinate all test management activities right inside JIRA

1 Testing right inside JIRA

Take advantage of the built-in reports to track the results and measure progress

2Make informed decisions

Kanoah Tests users receive priority support, even during trials

3Stelar support

Page 8: Smoke Testing

Smoke Testing

Page 9: Smoke Testing

What is Smoke Testing?

Smoke testing (also confidence testing, sanity testing) is the preliminary testing to reveal simple failures severe enough to (for example) reject a prospective software release.

A smoke tester will select and run a subset of test cases that cover the most important functionality of a component or system, to ascertain if crucial functions of the software work correctly.

A smoke test may address basic questions like “Does the program run?”, “Does it open a window?”, or “Does clicking the main button do anything?” The process of smoke testing aims to determine whether the application is so badly broken as to make further immediate testing unnecessary. [1]

Page 10: Smoke Testing

What is Smoke Testing?

Smoke tests frequently run quickly, often in the order of a few minutes, giving the benefit of quicker feedback and faster turnaround than the running of full test suites, which can take hours, or even days. [1]

The term ‘Smoke Testing’ came from the hardware testing, where the initial pass is done to check if it did not catch a fire or smoked in the initial switch on. [2]

Smoke Testing is generally done by the QA team but in certain situations, can be done by the development team. In that case the development team checks the stability of the build and deploy to QA only if the build is stable. [3]

Smoke testing performed on a particular build is also known as a build verification test (BVT). the focus of the testing is the verification of the crucial functionality and not on the finer details. We touch all areas of application without going into deep.

Smoke Testing has a great importance in Agile. We have frequent build deployments which need to perform the smoke tests before performing the detailed testing. One feature/functionality is implemented or some issues are fixed and then new build is deployed to the QA environment to know if the new build is stable and functionality is implemented correctly. [5]

Page 11: Smoke Testing

Scope Definition1. When Smoke testing is performed immediately after the build deployment. This is

the first testing done on the build. First smoke testing is performed followed by other testing like functional testing (newly added features), regression testing and user acceptance testing etc. It is a preliminary testing.

2. Where Smoke testing is generally done by the QA team in QA environment as criteria of accepting the build but in certain cases, it can be performed by development team.

3. How The focus of smoke testing is to perform end-to-end testing of the build without going in finer details of the modules. This is high level testing. We simply navigate the different application flows from start to end without testing the details of the individual modules. Here we just try to touch all the parts of the application. [5]

Page 12: Smoke Testing

Smoke Testing TechniquesManual Approach: Test cases are run manually. Manual approach is mainly used where the product is developed from the scratch and is unstable. Since during each development cycle new features or functionality are added to the product so using automation for this scenario will be very costly affair. This is because a lot of effort will be required on each build to maintain the scripts. So for a new and unstable product, it is better to use the manual approach.

Automation Approach: Test cases are automated and run with the help of automation tools. In some cases the smoke scripts can be integrated with the automated build creation tools like Jenkins so that whenever a new build is deployed, the smoke suite automatically start execution without manual intervention and without wasting any time. Automated smoke test cases are used in those environments where the product has become stable or product is the customization of some base product. [5]

Page 13: Smoke Testing

Why implement Smoke Testing?Minimizes integration risk. One of the greatest risks that a team project faces is that, when the different team members combine or “integrate” the code they have been working on separately, the resulting composite code does not work well. Depending on how late in the project the incompatibility is discovered, debugging might take longer than it would have if integration had occurred earlier, program interfaces might have to be changed, or major parts of the system might have to be redesigned and reimplemented.

Reduces the risk of low quality. Related to the risk of unsuccessful or problematic integration is the risk of low quality. By minimally smoke-testing all the code daily, quality problems are prevented from taking control of the project. You bring the system to a known, good state, and then you keep it there.

Uncover major problems. A good designed smoke test can increase the probability of finding a major problem when software is built early in the cycle. It also uncovers defects not related to coding but that arise because of wrong or incomplete setup or configuration; such as database, server, firewall, application parameters etc. Thus you catch defects earlier in the cycle.

Save time and cost. If a major problem is detected at an earlier stage, it can save huge time and cost than if the same error was discovered late in the cycle. [4]

Page 14: Smoke Testing

How to implement Smoke Testing?To implement smoke testing, the testing team will develop a set of test cases that are run any time a new release is provided from the development team. These set of test cases are used to test the major functional areas of the system. They are not nit-picky test cases that test low-level detail of the application; they are higher level test cases that test overall functionality. It will be more productive and efficient if the smoke test suite is automated or it can be a combination of manual and automated testing. [4]

Page 15: Smoke Testing

How to implement Smoke Testing?Identify Smoke Test Cases: We need to identify the minimum number of test cases, to cover the crucial functionality of the product so that they could be executed in least amount of time. This is a very important step of the smoke testing. If we create large set of smoke test cases then it may take more time in execution and if we create small set of smoke test cases then it may not be effective in covering the crucial functionality.

Create Smoke Test Cases: Once the smoke test cases have been identified, the next step is to create test cases. We write smoke test cases and automate them if required. However, it’s not always possible to automate the smoke test cases.

Run and Analyze the Results: Once the smoke test cases are ready then whenever there is a new build, smoke is run on the build and results are analyzed to take the decision of accepting or rejecting the build.

Maintenance: Maintenance is used to maintain the value of smoke test cases over the period of time. Whenever new crucial functionality is added, we need to create new smoke test cases. Similarly whenever there are changes which affect the smoke scripts, we have to fix them. [5]

Page 16: Smoke Testing

References

[1] https://en.wikipedia.org/wiki/Smoke_testing_(software)

[2] http://www.softwaretestingclass.com/smoke-testing/

[3] http://www.ijsrp.org/research-paper-0214/ijsrp-p2663.pdf

[4] http://www.mindlance.com/documents/test_management/smoke_testing_a_necessary_evil!.pdf

[5] http://www.ijsrp.org/research-paper-0214/ijsrp-p2663.pdf