当前位置:网站首页>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
边栏推荐
- How to switch PHP version in Windows 2008 system
- Tclerror: no display name and no $display environment variable
- 论文解读(CGC)《CGC: Contrastive Graph Clustering for Community Detection and Tracking》
- Why is there a wrapper class? By the way, how to convert basic data types, wrapper classes and string classes?
- PSCP basic usage
- 编程辅助工具推荐:图片工具snipaste
- 欣旺达宣布电池产品涨价 此前获“蔚小理”投资超10亿
- Tips for installing MySQL service in windows11: Install / Remove of the Service denied
- IM表达式的目的(IM 5.2)
- 运行报错:找不到或无法加载主类 com.xxx.Application
猜你喜欢
Interpretation 3 of gdpr series: how do European subsidiaries return data to domestic parent companies?
Design and practice of the smallest short website system in the whole network
WIN10 启动后花屏
欣旺达宣布电池产品涨价 此前获“蔚小理”投资超10亿
魔域来了H5游戏详细图文架设教程
How to count fixed assets and how to generate an asset count report with one click
IDEA 代码质量规范插件SonarLint
【Redis 系列】redis 学习十三,Redis 常问简单面试题
Nativeformysql connects to MySQL 8 prompt: 1251 - client does not support authentication protocol
On lambda powertools typescript
随机推荐
Chapter 4 specifies the attribute of the inmemory column on the no inmemory table for im enabled filling objects: examples (Part IV of im-4.4)
PSCP 基本使用
Solution of asynchronous clock metastability -- multi bit signal
ES6 learning notes II
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
Link sorting of tutorials such as assembly language running environment setting
Worder font page font comparison table
软件测试基础DAY2-用例执行
抓包整理————tcp 协议[八]
面了一圈,整理了这套面试题。。
Lesson 24 analysis of classical problems
Metalama简介4.使用Fabric操作项目或命名空间
编程辅助工具推荐:图片工具snipaste
Relu function of activation function
Tclerror: no display name and no $display environment variable
运行报错:找不到或无法加载主类 com.xxx.Application
Im architecture: CPU architecture: SIMD vector processing (im-2.3)
[redis series] redis learning 13. Redis often asks simple interview questions
程序员如何用130行代码敲定核酸统计
How to count fixed assets and how to generate an asset count report with one click