Better test case design

Source: Internet
Author: User
Tags configuration settings
Niclaas kotze is a singular and distorted sense of humor (this sense of humor is ironic in conjunction with Murphy's Law and an understanding of the quality of detailed interpretation of how human behavior is perceived) of self-confidence. When he was in London, England, he began to engage in testing in the gaming industry and won many AAA-level titles.
His testing career officially started with returning to South Africa to test GIS software systems, using Google Maps for public service delivery from Dutch customers, then he moved to busy retail credit and financial services. He chose testing as his career path because it enables people to integrate creative thinking into conventional procedures or regulations, and there is still an exciting pleasure to "break" things. Testing is intertwined with many other disciplines and disciplines: the main driving force keeps things interesting and challenging.
He is currently the competency leader for SQA in Cape Town, a dynamic visualization technology (DVS), who is responsible for guiding, motivating, and helping him with enthusiasm and energy, it also helps people understand the benefits of testing and improving more effective testing processes. I have gained experience in digital image production, sales, support, training, and special effects, before the test, he became a technical engineer in the office automation field and gave him skills to understand the problems that frustrated people and to effectively support people's needs.
For more details, visit za.linkedin.com/in/niclaasjkotze his in personal data.
?

?

ManyTest Case DesignVery little or no effort (just search for all the suggestions on our social media), but well-designed test cases are complex and challenging. Providing resources for well-designed tests is often overlooked by people who are not responsible for writing and executing tests. Not to mention what information is needed to obtain sufficient reports that enable us to measure the effectiveness of our testing efforts. Then you also need organizations, development teams, test teams, processes and tools that can define (or sometimes even enforce) The tests required. When searching the discussion board, it is not surprising that many people are looking for a general solution.
There is enough information on the Internet and in the book: how to analyze requirements, apply testing and design technologies, and implement and execute them. I suggest you read the title "what is a good test case?" written by CEM Kaner in 2003. A short but detailed study report. It references a lot of references and provides enough information for you to get a basic understanding.
In this short article, I will not explain how to apply the testing technology, but will share information as an entry-level guide to considerations, so that we can design a good test, I hope that I can create a platform for readers to share their experiences. The content here is based on my experience in solving the challenges presented to me. I also assume that the reader has some formal test experience and has an understanding of the test design technology.
As I read this article, I kept looking at the high-level objectives and factors of the test design:
1. Merge the execution States defined in the test analysis.
2. Create a specific input.
3. Define expected results based on input and specifications.

And some basic factors:
1. coverage.
2. validity.
3. elasticity and maintenance.
4. performer skills.

?

  The first challenge to design a good test is to let everyone understand the test principles.
ISEB/ISTQB
Software TestingThe seven principles are highlighted. These principles remind us and lower the expectations of (some) members for the challenges that sometimes exceed our control. Interpreting and making everyone involved aware of these principles will lead to realistic results and a more pleasant environment for cooperation.
1. The test shows the existence of the defect. Start designing more tests that will show defects. "Happy path" should work, unless you question the quality of the Code that delivers the test.
2. In many cases, it is impossible to test everything. We recommend that you use risk analysis and give priority to the testing focus. Accept the fact that a test without any combination or arrangement reduces stress levels and expectations. Sometimes you miss something. If you want 20 tests, you 'd better design 100 tests and select the best 20.
3. Start testing activities as early as possible during the development lifecycle. Do not think that the test is only used to confirm and verify the features of the product once the product is executable. Compared with SDLC, design tests are being performed prior to acceptance when the requirements are being reviewed. A high ROI can be achieved if this is done later than in SDLC.
4. defects are concentrated. Do not stop designing new tests after the test is executed. If time is sufficient, the review is excluded from some tests in the test set out of the original scope (associated with the components in which the latest detected defects are determined.
5. In some cases, the system will be "immune" from repeated tests ". Once again, do not stop designing new tests after a well-designed test stops looking for defects. Review the test set excluded from the original scope, or broaden the defect type using more testing techniques.
6. How do you design a test to be affected by the environment of the system being developed and the form of the business field. Not everyone is building bridges. In addition, design the test based on the test level.
7. If you have designed a lot of tests with the code and then implemented the code, it will not solve your needs and expectations. The moment is like an epic failure. If there is a lack of specifications, consider design testing based on how users expect the system to work and how it will meet their needs. Do not rely on code as the source of the Specification.
?

?The second challenge is to determine what to test, why to test, and how to test.
This becomes very challenging when a team or people who do not understand the purpose and purpose of the test work together (sometimes competing for power ). The development lifecycle and maturity of stakeholders and teams may become the main obstacle for creativity during the design of tests. To determine the content of the test, a correct question should be raised when analyzing the requirements. Based on my experience, it is a step in the correct direction to address these issues based on the software quality features as a starting point as described in the ISO/IEC 25010: 20113 standard document. I think it is a very effective way to collect information and clarify the specifications (especially when working with agile teams) to include these features ), it provides an opportunity to define requirements that exceed what the original owner thinks. They may have no experts to help identify the details of the tests. Try to predict customer needs and experience problems when using these high-level quality features:
1. Functions
2. Reliability
3. Availability
4. Efficiency
5. maintainability
6. Portability
These high-level features have sub-characteristics, such as precision, performance, variability, and installability. Now, you should be able to select the most suitable Testing Technology Based on the plan, budget, and available resources.
I think a feature that is not often mentioned in software development is testability. If you have designed electronic circuits and components, you will understand the amazing benefits of DFT (designed for testability), or when engineers put BIST (built-in self-testing) include in their design capabilities. Many software products are designed in a time-consuming, error-prone, and hard to be tested.
Theoretically, DFT will be input from test experts during the design phase to facilitate early design of better tests. A simple example of testability is that if the configuration settings are stored in the database, it is loaded only at system startup. Restarting in some environments may be troublesome. You can perform the test by tapping the switch or clicking the button to achieve dynamic reload of configuration settings. By asking, "How can we test the regression interval ?" Start the discussion of testing. It is exciting for team members to consider simplicity and automation more frequently. It is helpful that research provides guidance and skills for general software design problems to help identify the testing modes of problems. "We have worked hard to create a paradise for a long time, but we found it filled with terror. "-- Selected from Alan Moore's watch
?

 Third, the test content should be clear and "measurable ".
This may not take up much of the design test, and the content to be measured during the test and the test control activities during the test are expected to be defined. Testing is like a team lighting. Test activities should instruct the team to avoid obstacles. It is strange that this is the last thing to consider. So I just want to use it as a reminder. In some cases, you may want to provide feedback, for example:
1. Testing.
2. Improve the testing focus.
3. prove something to others.
4. improve coverage and technology.
A good start to looking at the information required for a test case is to read the IEEE 8292 standard file. From here, you can exclude projects that are irrelevant in the long run, or add more projects as needed. Determine the desired reports and find the best tools to generate these reports as soon as possible. Unfortunately, testing often relies heavily on tools to process a large amount of information, but tools may also have an impact on the form of testing, and the process is required to ensure that information is accurate. (Have you ever been asked to "adjust" the data, conceal "invalid" data in the report, or have you received a copy of the result that is unstable to or even Stephen? Hawking stood up and walked out of the room with tears ?) Remember to check the test frequently in the same way as review the code. In this way, continuous improvement can be made. I hope this short article will provide some theoretical or practical guidance and lead to discussions on the design of test cases.

  Copyright: This article from spasvo zezhong Software Testing Network: http://www.spasvo.com/news/html/201456140230.html

For original works, you must use hyperlinks to indicate the original source, author information, and statement of this Article. Otherwise, you will be held legally liable.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.