Top 10 tips for writing effective Test Cases

Download Top 10 tips for writing effective Test Cases

Post on 12-Apr-2017




3 download


<ul><li><p>Top 10 Tips for Writing Effective Test Cases</p></li><li><p></p><p>ABOUT US</p><p>Kanoah is an innovative company providing ground-breaking solutions to software testing professionals on the </p><p>Atlassian JIRA platform</p></li><li><p>About Kanoah Tests</p><p>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</p><p>Coordinate all test management activities including test planning, authoring, execution, tracking and reporting from a central location </p><p>Kanoah Tests enables you to track testing progress and quality to foster collaboration and visibility across traditional and agile teams </p><p>Get real-time insights into your testing progress with out of the box reports </p><p>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</p></li><li><p>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.</p><p>Don Pierce </p><p>Robert Murhamer</p><p>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.</p><p>Zour Brosh </p><p>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</p><p>For more reviews, visit: </p><p>Reviews</p><p></p></li><li><p>Key Features</p><p>Native seamless integration with JIRA </p><p>No need to learn or switch between different applications </p><p>Perfect for agile &amp; traditional testing approaches </p><p>Manage, organize and track all your testing efforts in a central place </p><p>Reuse test cases across your projects</p><p>Powerful REST API </p><p>Establish clear traceability between requirements, test cases, and defects </p><p>Execute test cases and track results that matter </p><p>Get real-time insights into your testing progress with out of the box reports </p><p>Live statistics accessible to your entire team</p></li><li><p>Benefits for the testers</p><p>No need to lear or switch between different applications </p><p>Reuse test cases across projects for regression </p><p>Link test cases to requirements and defects </p><p>API support for automated efforts</p><p>Benefits for the teams</p><p>Informed decisions based on real-time insights </p><p>End-to-end traceability and impact analysis </p><p>Centralized Test Management </p><p>Save time and increase productivity</p></li><li><p>Why choose Kanoah Tests</p><p>Coordinate all test management activities right inside JIRA</p><p>1 Testing right inside JIRATake advantage of the built-in reports to track the results and measure progress</p><p>2Make informed decisionsKanoah Tests users receive priority support, even during trials</p><p>3Stelar support</p></li><li><p>Top 10 Tips for Writing Effective Test Cases</p></li><li><p>What is a Test Case?</p><p>A test case, is a set of conditions under which a tester will determine whether an application, software system or one of its features is working as it was originally established for it to do. </p><p>Written test cases should include a description of the functionality to be tested, and the preparation required to ensure that the test can be conducted. </p><p>A formal written test-case is characterized by a known input and by an expected output, which is worked out before the test is executed. The known input should test a precondition and the expected output should test a postcondition. [1]</p></li><li><p>How to write effective Test Cases?</p><p>Before start writing tests, it is necessary to determine the purpose of testing, define verifiable requirements and identify logical sets of test scenarios based on user roles, features, etc. </p><p>Applications need to be studied in-depth before designing test cases and testers have to analyze the test objectives thoroughly before writing the test cases. </p><p>The basic objective of writing a test case is to provide the testing procedure for the particular application and maximize the verification of code with minimum complexity. [2]</p></li><li><p>How to write effective Test Cases?</p><p>Get a thorough knowledge of the application: Before beginning to write test cases, gather enough information about the application by means of available documents like requirement specifications, use cases, tutorials or by using the application itself. Find out how the users intend to use the application, list down the several features and find out about the domain where its used. </p><p>Select a strategy for test case writing: Different features of the application may require different approaches to writing the test cases. Organize your test cases according to the features and select the appropriate method. You might also want to differentiate the test cases based on the different user roles; sometimes a combination of approaches helps write test cases for complex applications. Make sure that the entire flow of the application is covered by your test cases. [2]</p></li><li><p>Appropriate Format</p><p>Test case name / ID. </p><p>Description unit under test. </p><p>Prerequisites Assumptions that must be made. </p><p>Test data the variables and their values. </p><p>Steps to be followed. </p><p>Expected results clearly state the expected outcome of the test. </p><p>Actual results record the actual results observed. </p><p>Status Pass / Fail. </p><p>Comments. [2]</p></li><li><p>Top 10 Tips for Writing Effective Test Cases</p><p>The following ranking has been put together by gathering the most relevant information from [3] [4] [5] [6] [7]. </p><p>1. Identify The Scope And Purpose Of Testing: Identify the testable requirements. You need to understand the purpose of testing &amp; you must understand the features and user requirements. </p><p>2. Test Case Description: Description is where you mention all the details about what you are going to test, and the particular behavior being verified by the test. A well-written Test Case clearly mentions the expected result of the application or system under test. Each test design step should clearly mention what you expect as outcome of that verification step. </p><p>3. Assumptions and Preconditions: While writing test cases, you should communicate all assumptions that apply to a test, along with any preconditions that must be met before the test can be executed.</p></li><li><p>Top 10 Tips for Writing Effective Test Cases</p><p>4. Write a test case for every condition: some developers translates one test case for every condition to one test case for assertion, thats just plain wrong, a condition can contain one or more assertions,.When you are picking the condition to test, it is also a good idea to focus on the boundaries of your system, so if you are testing a range, try testing with the last element of your range, the first element. </p><p>5. Positive And Negative Test Cases: While writing test cases few test case design methods should be used like equivalence classes portioning, boundary value analysis, normal and abnormal conditions. You should also consider negative testing, failure conditions and error handling which could help to discover most probable defects in the code. Dont assume any functionality, write the test cases with reference to requirement specification document. </p><p>6. Legible &amp; Easily Understandable: Imagine a scenario where the person who wrote all those Test Cases leaves for some reason and you have a completely new team to work on the Test Case execution, the entire effort spent during the design phase could go down the drain.</p></li><li><p>Top 10 Tips for Writing Effective Test Cases</p><p>7. Maintenance and Reusability: You should write test cases keeping in mind that they could be re-used in the future for some other project/teams. Its of umpteen importance to make sure that the Test Cases are always updated as per the newly introduced changes in the application they apply to. </p><p>8. Structuring of Test Cases: Tests in a suite should be independent, but, at the same time, grouped by a common idea. Moreover, test cases should be transparent, atomic and easy to understand. </p><p>9. Test Data Input: To make your life easy as a tester (and your fellow-testers!), wherever applicable, you can give Test Data to be used for the Test Case within the test case description or with the specific Test Case step. This saves a lot of time in the long run as you wont have to hunt a new test data every time you need to execute the test.</p></li><li><p>Top 10 Tips for Writing Effective Test Cases</p><p>10. Test only one thing: If you dont write your tests to only test one thing, you may find the following problems. </p><p>Over complicated tests. Tests which are difficult to understand. </p><p>Overlapping tests. Different tests testing the same functionality, this will carry a lot of overhead when you will have to maintain them. </p><p>Low code coverage. Is easier to have higher code coverage if you write simple test cases for all the elements of your code. </p><p>Difficulty to track an error. When your test cases fail, ideally it should be pretty straight forward to tell where they are failing. When you are testing several things in every test case is hard to tell what the source of the errors is. </p><p>To test only one thing is sometimes hard because of the dependencies in your system. You may want to write a test case for a class that indirectly uses a database, or a third class, in this case, the best solution is to use a mock, stub or a fake object.</p></li><li><p>References</p><p>[1] </p><p>[2] </p><p>[3] </p><p>[4] </p><p>[5] </p><p>[6] </p><p>[7]</p><p></p></li><li><p>Next Steps</p><p>Getting Started Guide</p><p>GETTING STARTED RESOURCES FREE TRIAL</p><p>DocumentationSupport</p><p>TutorialsWhat we're reading this weekBlog</p><p>Start you 30-day free trial now</p><p></p></li></ul>