当前位置:网站首页>How much does software testing help reduce program bugs?
How much does software testing help reduce program bugs?
2022-04-23 12:07:00 【I want to eat ya】
Software testing is important for reducing program BUG How helpful ?
Experienced programmers often think that testing is as important as code , Testing can reduce the uncertainty of code changes or extensions . The test should be easy to read, simple and run quickly , It doesn't use much memory .
Common software errors may cause the program to terminate suddenly and even damage the database , The consequences can be very disastrous :1996 year , Ariana... Due to a software error -5 The launch vehicle exploded . This error is caused by the conversion of floating-point numbers to integers , This is a 16 Bit signed integers can only represent small integer values . The integer cannot represent a floating-point number, and the program stopped when it detected this unexpected error .
The function that triggers this error is not required , It is only integrated from the early Ariana rocket model as a subsystem . according to 1996 Price calculation for the year , The cost of this error is about 4 Billion dollars . The importance of producing the right software has long been well known .
There are several common strategies that excellent scientists and engineers have been trying to ensure correctness for decades . for example , To do a complex scientific calculation , Then we need to set up several independent teams to calculate the answer .
If all teams get the same answer , It can be concluded that the answer is correct . This redundancy strategy is usually used to prevent hardware related failures . unfortunately , Writing multiple versions of software is often impractical . Many programmers want to prove that a program is correct , Regardless of hardware failures, you must ensure that the software does not encounter any errors . In fact, today's software is very mature, which can prove that the program is correct .
Programmers have come to understand the need to test software , But not all code needs to be tested , Typically, prototypes or examples do not require further validation . but Any design done in a professional environment 、 The important functions that must be implemented should be tested at least partially . Testing can reduce the likelihood of having to face disaster situations in the future .
There are two common tests , Unit test and integration test .
Unit testing is designed to test specific components of software programs . for example , Unit testing for a single function . in the majority of cases , Unit tests are done automatically , The programmer simply presses a button or enters a command , These tests can be performed . Unit testing often avoids acquiring valuable resources , For example, create large files on disk or establish a network connection . Unit tests usually do not involve the setup of the operating system .
Integration testing is designed to validate a complete application . Usually these tests require access to the network , Sometimes you need to access a lot of data . Integration testing sometimes requires human intervention , It also requires application specific knowledge . Integration testing may require setting up the operating system and installing software . Integration testing can also be automated , At least partially automated . Most of the time , Integration testing is based on unit testing .
Unit tests are often used as part of continuous integration . Continuous integration often automates specific tasks , Including unit tests 、 Backup 、 Application encryption signature, etc . Continuous integration can be performed periodically or when code changes .
Unit testing can be used to establish software development process and guide software development . Before writing the code itself , You can write these tests first , That's what they say “ Test-driven development ”. Usually , The test is written after the function development is completed . Writing unit tests and developing functions can be done by different programmers . Sometimes , Tests provided by other developers are more likely to find errors , Because they may make different assumptions .
Experienced programmers often think that testing is as important as code . So it's not uncommon to spend half your time writing tests . Although it will affect the speed of writing code , But in the long run , Testing is an investment , So it usually saves time . It is often more difficult to update software that has not been well tested . Testing can reduce the uncertainty of code changes or extensions .
The test should be easy to read , Simple and fast , And it doesn't use much memory . However , It is difficult to accurately define the quality of the test . There are several common statistical methods . for example , You can calculate the number of lines of code covered by the test . here , I have to talk about test coverage .100% Coverage means that all code has been tested . However, in practice, coverage can not well represent the quality of testing .
All computer systems are flawed . The hardware may fail at any time . Even if the hardware is reliable , It is also almost impossible for programmers to predict all the situations encountered in the operation of software . No matter who you are , And no matter how hard you work , Your software won't be perfect . Nevertheless, you should try your best to write the right code : Can meet the expectations of users .
Although you can write the correct code without writing tests , But the benefits of the test suite are tangible in difficult or large-scale projects . Many experienced programmers refuse to use untested software components . The good habit of writing tests can help you grow into a better programmer . In the process of writing tests, you will further realize the limitations of human beings . When interacting with other programmers and users , If you have a test suite, you can better think about their feedback .
If you want to learn by yourself, you might as well take a look at this video of learning roadmap , See if you're fit for a career ~
Software testing learning roadmap details
The first stage A functional test
Pre school guidance : Learn the content of this stage , The whole process function test solution 、Web Automated testing solutions 、 Data separation solution 、 Automated test reporting solutions 、 Log collection solution .
1.2022 The whole net starts 、 The most suitable software for novices is the introduction to the actual combat tutorial !
Really from entry to mastery , Contains the foundation + Project practice , The actual operations of all cases are illustrated with pictures and texts , Truly realize a complete set of customs clearance !
2. From beginning to mastery of software testing
Software testing is a process of auditing or comparing the actual output with the expected output . The classic definition of software testing is : Operate the program under specified conditions , To find program errors , Measuring software quality , And to evaluate whether it can meet the design requirements . This course consists of 5 God , Record for zero basic white . A necessary course for the introduction of zero Foundation .
Software testing from entry to mastery _ Basic course of software testing
3. Linux System 2 Get started
This video contains Linux Operating system introduction 、Linux Common commands 、vi Editor . Learn and master the contents of this stage , Can have Linux Project construction capacity .
Linux System operation tutorial 2 Get started linux Project structures,
4. software test MySQL Database knowledge intensive + Project practice
This video contains data installation , Data table operation 、 Data manipulation - Additions and deletions 、 Conditions of the query 、 Sort 、 Aggregate functions 、 grouping 、 Pagination 、 Link query 、 Self correlation 、 Subquery 、 Subquery drill . Learn the content of this course , Can have the ability of database verification ; It can also be fast 、 Master the operation of database addition, deletion, modification and query in a standardized way .
Software test engineer must MySQL database ,mysql Elaborate on the system + Practice after class
The second stage Python Programming
Pre school guidance : Learn the content of this stage , Can grasp Python grammar , Ability to program ; Be able to establish programming thinking and object-oriented programming thinking ; Can master UnitTest Framework management test cases .
10 Heaven plays Python software test
Learn the content of this stage , Can grasp Python grammar , Ability to program ; Be able to establish programming thinking and object-oriented programming thinking ; Can master UnitTest Framework management test cases .
Python Automatic test tutorial ,python From foundation to UnitTest Framework management test cases
The third stage UI automation
Pre school guidance :ui Automation is generally divided into web Automation and App automation , It accounts for a large proportion in the field of automated testing , Regular use .
1. software test web Automated test elaboration and actual combat
This course will teach you to build Web Automated and mobile automated test environments ; master Web Automated test process and scripting ; Master the positioning method of elements in mobile automation testing 、 Element operation and gesture operation ; Have a good command of ADB Tool use ; master PO The design idea of pattern , And can encapsulate the page ; Master the implementation of data-driven ; Be able to flexibly use automation related technologies in practical projects .
2. Zero foundation entry mobile automation ——Appium frame
This course will explain in detail Appium frame ,Appium It's an open source 、 Cross platform automated testing framework , The framework applies to Native Application、Mobile Web Application or Hybrid Application Automated testing .
Zero foundation entry mobile automation test ——Appium frame
3. Easily teach you to use Appium Conduct IOS Real machine automated testing
This course , Present the steps and precautions of environmental installation to the trainees , Simulator to real machine practice , They all demonstrate and explain . rich content , Vivid image , After learning, you can complete IOS Actual operation environment .
Easily teach you to use Appium Conduct IOS Real machine automated testing
The fourth stage Interface automation
Pre school guidance : Interface testing is the most frequently used part of all automated testing applications . This stage is divided into 14 Three parts will be explained in detail .
Interface test elaboration + A practical course of mental health communication
This tutorial will cover HTTP,Postman,Pymysql,requests library , Integrate UnitTes,Dubbo And so on , At last, the project practice of this stage is carried out with the intelligent health project .
The fifth stage Performance testing
Pre school guidance : Performance testing belongs to the category of advanced testing , It's very helpful for salary promotion , This video explains how to build a performance test environment ,JMeter Tool use , Performance test monitoring 、 Analysis and tuning methods .
4 Day quick start performance test
This video passes the performance test, basic theory and JMeter Learning tools ; Through the actual combat of the light mall project , Take the students to master the performance test demand analysis 、 Performance test plan 、 Test case design 、 Test script development 、 Performance monitoring 、 Performance analysis and tuning 、 Performance test report summary .
Phase 6 Comprehensive projects strengthen
Pre school guidance : Through wechat applet 、 The financial project is a comprehensive and enhanced functional test of two practical projects 、 The interface test 、 Performance testing .
1. Wechat applet automatic test practice
This video covers : Basic introduction to wechat applet 、Ego Introduction to wechat business project 、Ego Wechat project deployment 、Ego Wechat applet plan 、Ego Micro quotient applet design 、Ego Micro quotient applet execution summary 、Ego Wechat applet interface test 、 Continuous integration .
Software testing wechat applet automatic testing practice
2. software test 4 Finish the financial project in days
This video explains the function test solution of financial project 、 Real project test experience solution 、 Complex business interface test solution Interface encryption and decryption test solution 、 Data separation solution Continuous integration solutions 、 Automated test reporting solutions 、 High concurrency test solution .
software test 4 Day quick fix financial project function test practical tutorial
版权声明
本文为[I want to eat ya]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204231155220776.html
边栏推荐
- IM表达式的目的(IM 5.2)
- 5分钟NLP:Text-To-Text Transfer Transformer (T5)统一的文本到文本任务模型
- 2022 love analysis · panoramic report of industrial Internet manufacturers
- 5-minute NLP: text to text transfer transformer (T5) unified text to text task model
- [web daily practice] eight color puzzle (float)
- IDEA 数据库插件Database Navigator 插件
- Idea code quality specification plug-in sonarlint
- oh-my-lotto
- worder字体网页字体对照表
- 软银愿景基金进军Web3安全行业 领投CertiK 6000万美元新一轮投资
猜你喜欢
运行报错:找不到或无法加载主类 com.xxx.Application
PSCP basic usage
SOFA Weekly | 年度优秀 Committer 、本周 Contributor、本周 QA
Resolution due to AMD not found_ ags_ x64. DLL, unable to continue code execution. Reinstallation of the program may solve this problem, Forza horizon 5
VMware虚拟机使用esxi 导出硬盘vmdk文件
Force buckle - 1137 Nth teponacci number
The listing of saiweidian Technology Innovation Board broke: a decrease of 26% and the market value of the company was 4.4 billion
On lambda powertools typescript
Nacos Foundation (9): Nacos configuration management from single architecture to microservices
【Redis 系列】redis 学习十三,Redis 常问简单面试题
随机推荐
How Im expressions work (5.3)
The maximum number of remote desktop servers has been exceeded
九十八、freemarker框架报错 s.e.ErrorMvcAutoConfiguration$StaticView : Cannot render error page for request
为什么要有包装类,顺便说一说基本数据类型、包装类、String类该如何转换?
Database Navigator 使用默认MySQL连接提示:The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrecognized or repres
Purpose of IM expression (IM 5.2)
Fastjson 2 is coming, the performance continues to improve, and it can fight for another ten years
软银愿景基金进军Web3安全行业 领投CertiK 6000万美元新一轮投资
Optimize connections using connection groups (IM 6)
SQL exercise (I)
第二十六课 类的静态成员函数
MySQL 的主从复制配置
In idea Solution to the problem of garbled code in Chinese display of properties file
Sigmoid function of activation function
[web daily practice] eight color puzzle (float)
5-minute NLP: text to text transfer transformer (T5) unified text to text task model
Lesson 24 analysis of classical problems
WIN10 启动后花屏
Precautions for PCB
How the database fills in IM expressions (IM 5.4)