Does the test need to write test cases?

Yesterday afternoon, a classmate in the star group sent a message, which aroused many discussions among the students. This passage is as follows:

The main function of the test case: to effectively evaluate the quality of the software, and the quality of the test case reflects the quality of the test.

Here are some of the views of the students:

  • Evaluation of software quality should look at results such as test reports;

  • The main role of test cases is to determine the test scope and test scenarios;

  • There is nothing wrong with this sentence, unless you do not follow the test case to execute well;

  • Users and actual users of the software should have the most say in evaluating software quality;

Are they right? I personally don't think so. But are they wrong? Not necessarily. Different perspectives, different starting points, different viewpoints. In this article, I want to talk about my views on test cases and what determines the quality of software.

How to understand the quality of software

We all know that a software needs to go through four main links: requirement design, coding implementation, test verification, deployment and release from scratch.

Requirements come from user feedback, market research, or business judgment. It means that in the market behavior, some people have certain demands or pain points, as long as they find a way to meet the demands of these people, and there is a difference in input and output, and profits can be earned, demand will be created.

After professional evaluation, analysis, processing and design, these requirements will become specific business requirements and corresponding product design drawings. Then, the technical solutions designed and implemented by specialized R&D students are coded to turn the abstract business logic into specific software product functions.

After the product function is realized, it is delivered to the test students, and various methods and means are used to verify whether the specific functions, performance, security, interaction and other characteristics of the software product meet the expected goals of the product requirements.

After passing the product test and verification, it will be delivered to the dedicated operation and maintenance or students responsible for online deployment, and then compiled, packaged and released in the production environment. Then inform users through product launches or news push, what software products we provide and what demands can be met.

The logic is very simple, whether the software products provided by the service provider meet the needs of users. By providing this software product, whether the service provider's business goals are achieved (such as advertising, platform handling fees, and value-added service fees). The factors that determine users to use the product and more and more users continue to use the product are whether the user approves of the product, the magnitude of the user and the conversion of retention (the more people, the easier it is to dilute the cost, the more business scenarios there are, and the impact of commercial profits more sources).

This logic puts forward requirements for the software product itself: the function should be convenient and correct, the interaction should be humanized, the operation response should be fast, and the information should not be stolen. Corresponding to it is the correctness of functions, the experience of UI interaction, the high performance of software, and the security measures of software. So, who determines the quality of software? Whether the final business goal (commercial value) oriented by the user to use the product is reached or not is determined !

What is the role of test cases

We all know that with the increase in business complexity and system architecture complexity, as well as changes in team members, iterations of requirements, and changes in various configurations, various problems may occur in the software itself. This is a process of continuous entropy increase . Software R&D delivery has become a huge project that can only be completed by a particularly complex team.

In order to control the increasing complexity, to reduce the risk and impact of possible software problems, to ensure that complex teamwork can move in the same direction, and to ensure that every link of the software development and delivery process achieves the expected goals, we do what happened?

  • kickoff: project kickoff meeting, publicizing project goals, key milestones, and the scope of responsibilities of each role;

  • Process specification: It stipulates the principles to be followed in the process of project development and delivery, that is, delimiting boundaries. So that each role with different professional backgrounds and different technology stacks can always move in the same direction without going astray;

  • Quality access control: In the entire process of software development and delivery, indicators are set for each link. Ensure that in the process of starting from scratch, the deliverables of each link meet the standards (that is, the risk is reduced and accepted as much as possible);

  • Quality measurement: Through data collection and analysis and evaluation of various dimensions, it is judged that the final delivery output meets business expectations.

What is the role of the test case? The purpose of writing use cases is to verify that the scope of this delivery is covered as much as possible, without omissions, that there are no problems in the delivery part, or that the known risks of the problems are acceptable. It is a means to cover risks as much as possible within a limited known range .

Similarly, there will be a lot of discussions and reviews in the requirements design process, and the code diff, code review, and unit testing in the development and coding phase are also for this purpose. This is even the role of our common product acceptance tests and online grayscale releases.

Test whether to write test cases

Personally, I think whether to write a case, whether to do quality access control, etc. are means. Most of the time, the work done by the test is to ensure the quality of the test environment. The real quality is the final release, the use results delivered to users and the achievement of business goals.

It's just that people will always make mistakes and omissions, and people's abilities are uneven. All you have to write use cases, set specifications, and use various means to ensure this. You will find that, in the end, what needs to be solved is still a human problem. How to use some means to keep people with different abilities and cognitions above a certain baseline and urge them to accomplish the same thing and achieve the same goal is the key. The test case is just a carrier of test thinking, which guides the test activities and is the minimum guarantee for test execution.

The controllable process, test plans, solutions, use cases, and daily and weekly reports are all for this purpose. Various methods and means of quality assurance are to increase the lower limit of the team's delivery output.

To give an inappropriate example: the various roles in the team are like a flock of sheep, which need the head sheep (the person in charge) to lead the direction; the shepherd dog (the process specification) is needed to supervise at all times to ensure that the flock does not run out of the established range and does not fall behind; The means of project management (milestones and deadlines) are used to remind the dawn to go out of the circle and the dark to circle; it also requires the company to choose the appropriate grassland (business scope) and weather (market timing) for grazing.

Finally, share a saying that I like very much: Goals are important, but actions are the soul.

And the correct goal + reasonable and feasible way of action + efficient and collaborative team is the core of all this.

Finally:  The complete software testing video learning tutorial below has been sorted out and uploaded, and friends can get it for free if they need it【保证100%免费】

insert image description here

 These materials should be the most comprehensive and complete preparation warehouse for [software testing] friends. This warehouse has also accompanied tens of thousands of test engineers through the most difficult journey. I hope it can help you too!

软件测试技术交流群社:786229024(里面还有工作内推机会,毕竟我们是关系社会。)

Software Testing Interview Documentation

We must study to find a high-paying job. The following interview questions are the latest interview materials from first-tier Internet companies such as Ali, Tencent, and Byte, and some Byte bosses have given authoritative answers. Finish this set The interview materials believe that everyone can find a satisfactory job.

How to obtain interview documents:

Guess you like

Origin blog.csdn.net/wx17343624830/article/details/130168945