当前位置:网站首页>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
边栏推荐
- 第二十三课 临时对象
- 软银愿景基金进军Web3安全行业 领投CertiK 6000万美元新一轮投资
- PSCP basic usage
- golang之筆試題&面試題01
- Idea code quality specification plug-in sonarlint
- Win10 splash screen after startup
- 使用连接组优化连接 (IM 6)
- 编程辅助工具推荐:图片工具snipaste
- The fourth chapter is to enable the filling object of IM and enable ADO for im column storage (IM 4.8)
- 论文解读(CGC)《CGC: Contrastive Graph Clustering for Community Detection and Tracking》
猜你喜欢

worder字体网页字体对照表

IDEA 中 .properties文件的中文显示乱码问题的解决办法

远程桌面之终端服务器超出了最大允许连接数解决

IDEA 代码质量规范插件SonarLint

Nacos Foundation (9): Nacos configuration management from single architecture to microservices
![A detailed explanation of head pose estimation [collection of good articles]](/img/59/6ac8692b0dbd0218bb512c5eac3124.png)
A detailed explanation of head pose estimation [collection of good articles]

亿级流量架构,服务器如何扩容?写得太好了!

Yunna | fixed assets inventory supports multiple inventory methods (asset inventory)

电脑系统卡如何解决?

Windows11 安装MySQL服务 提示:Install/Remove of the Service Denied
随机推荐
Win10 splash screen after startup
[redis series] redis learning 13. Redis often asks simple interview questions
Chapter 5 optimizing queries using in memory expressions (IM 5.1)
Golang Pen & interview 01
Database Navigator 使用默认MySQL连接提示:The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrecognized or repres
User interface and im expression (IM 5.6)
Design and practice of the smallest short website system in the whole network
一文详解头部位姿估计【收藏好文】
CGC: contractual graph clustering for community detection and tracking
The fourth chapter is the enable and disable columns of IM enabled fill objects (Part III of im-4.3)
Docker MySQL master-slave backup
Fabric 1.0源代码分析(33) Peer #peer channel命令及子命令实现
After a circle, I sorted out this set of interview questions..
Practical data Lake iceberg lesson 30 MySQL - > iceberg, time zone problems of different clients
IDEA 代码质量规范插件SonarLint
论文解读(CGC)《CGC: Contrastive Graph Clustering for Community Detection and Tracking》
Metalama简介4.使用Fabric操作项目或命名空间
IDEA 中 .properties文件的中文显示乱码问题的解决办法
The fourth chapter is to enable the filling object of IM and enable ADO for im column storage (IM 4.8)
Tclerror: no display name and no $display environment variable