【Software Test】Introduction to Software Testing
Introduction to Software Testing
文章目录
- Going to Learn …….
- Evolution of The Software Industry
- Errors, Faults, and Failures
- Purpose of the Classification
- Fault Types
- Classification of Failures
- why software has faults
- Engineering Approaches
- Role of Specification
- Testing in the Development Process
- Types of Testing
- Test Automation
- When to finish testing
Going to Learn …….
Evolution of The Software Industry.
Errors, Faults, and Failures
Type of Faults
Classification of Failures
Need for Testing
Engineering approaches to developing correct systems
Role of Specification
When to finish testing
Evolution of The Software Industry
Software industry begins in 1950s.
The independent software industry was established in 1969.
Mass consumption of software product begins in 1981 on words.
The World Wide web arrived at the 1990s
And Mobile devices arrived at the 2000s
In 2010, Top 500 companies in all over the world gained
$492 billion.
Errors, Faults, and Failures
Error:
- Mistakes made by software developers.
- Thet exist it may lead to the one or more faults in the software.
Example:
- Spelling Mistakes
- Missing Branches
Faults :
- It consists of incorrect materials in the , and can be the product of one or more error.
- This led to failure during the execution.
Purpose of the Classification
1、When analyzing/designing/coding software, where are acts as a checklist of faults to avoid?
2、When developing Software test, where it acts as a guide to likely faults.
3、When undergoing Software process evaluation or improvement, where it provides input data.
Fault Types
- Algorithmic: Due to the algorithm design , software produced incorrect output for given input.
- Syntax: The specified programming language and source code are not confirmed.
- Computation and Precision: Used formula does not calculate the expected accuracy and precision.
- Stress or Overload: The system fails to operate correctly when it is Overloaded.
- Capacity and Boundary: The system fails to operate correctly when data stores are filled beyond their capacity.
- Timing or Coordination: During the real-time process the system not cooperate with several concurrent processes.
- Throughput or Performance: The System does not meet its specified throughput or other performance requirements.
- Recovery: The system does not recover to the excepted performance even after a fault is detected and corrected.
Classification of Failures
Behavior
Failure Severity Level
Failure causes a system crash and the recovery time is extensive or failure causes a loss of function and data and there is no workaround.
Failure causes a loss of function and data but there is a manual workaround to temporarily accomplish the tasks.
Failure causes a partial loss of function and data where the user can accomplish most of the tasks can still be accomplished.
Failure causes cosmetic a minor inconvenience where all the user tasks can still be accomplished.
why software has faults
There are a number of reasons why software has faults.
- It is difficult to collect the user requirements correctly
- It is difficult to specify the required software behavior correctly.
- It is difficult to implement software correctly
- It is difficult to modify software correctly.
Engineering Approaches
Forward Engineering:
The development starts with the user, and ends with the correct implementation.
Each activity is based on the output of previous activity
and produced correct outputs.
The end product matches its and meets the
Based on Feedback: ( Reverse Engineering)
- All the development steps, are subject to mistakes and ambiguities, leading to non-ideal results.
- To resolve this, each of the steps must be subject to check to ensure that it has been carried out properly,
- To provide an opportunity to fix any mistakes before proceeding .
Role of Specification
Specification plays a key role in testing.
For the testing, the correct behavior of the software must be known.
This implies the need for detailed specification or software
requirements.
For testing the code,Specification must describe both normal and error behavior.
Normal Behavior: is the expected output when the inputs are not in error.
Error Behavior: is the expected output when one or more inputs are in error or will produce an error in processing.
Testing in the Development Process
The software of any degree of complexity has three key characteristics:
- User Requirements, stating the needs of the software users.
- Functional specifications, stating what the software must do.
- A number of modules, that are integrated together to form the final system
Types of Testing
Unit Testing: An individual unit of Software is tested to make sure it works correctly.
Unit Testing
Integrated Testing: Two or more units are tested to make sure they interoperate correctly.
interoperate
交互操作
System Testing: The entire software system is tested as a whole to make sure it works correctly.
correctly
Acceptance Testing: the entire Software system is tested as a whole to make sure it meets the user’s needs, or solve’s the user’s problem, or passes a set of tests developed by the user
Acceptance
n. 接纳;赞同;容忍
Test Automation
Manual testing is slow, error-prone, and hard to repeat.
Unit tests are automation by default,
error-prone 有…倾向的
Features of Automation Testing:
Automated test execution,
Automated Collection of results,
Automated Evaluation of results, 评估
Automated Report generation,
Automated Measurement of test coverage,
Automated Generation of test data.
When to finish testing
From a budgetary point of view: when the time or budget allocated for testing has expired.
From an activity point of view: when the software has passed all of the planned tests.
From a risk management viewpoint : when the predefined failure rate meets the quality criteria.
adj. 预算的 budgetary
criteria n. 标准,条件
【Software Test】Introduction to Software Testing的更多相关文章
- 【刷题】若串 =’software’ ,其子串数目为:37
子串 子串是母串中的一部分,可以是母串本身,也可以是空字符串 设串中字符数为n,则其子串数目为:s=(1+n)*n/2+1 具体地: 长为0的子串:1 长为1的子串:8 长为2的子串:7 长为3的子串 ...
- 【Xamarin Doc】 Introduction to Storyboards 笔记
http://developer.xamarin.com/guides/ios/user_interface/introduction_to_storyboards/ Segues There are ...
- 【读书笔记】《Computer Organization and Design: The Hardware/Software Interface》(1)
笔记前言: <Computer Organization and Design: The Hardware/Software Interface>,中文译名,<计算机组成与设计:硬件 ...
- 【Software Test】Basic Of ST
文章目录 Learning Objective Introduction Software Applications Before Software Testing What is testing? ...
- Software Engineering: 1. Introduction
Resource: Ian, Sommerville, Software Engineering 1. Professional software development 1.1 Software e ...
- G1垃圾收集器官方文档透彻解读【官方解读】
在前几次中已经对G1的理论进行了一个比较详细的了解了,对于G1垃圾收集器最权威的解读肯定得上官网,当咱们将官网的理解透了,那基本上网上对于G1的说明其实最终都是来自于官网,所以接下来会详细来解读Ora ...
- Windows平台手动卸载Oracle Server【完整+干净】
使用Oracle自带的Universal Installer卸载存在问题: 不干净,不完全,还有一些注册表残留,会影响到后来的安装. 所以,推荐使用手工卸载Oracle. 1.[win+R]-> ...
- 【静默安装】configToolAllCommands响应文件问题
[静默安装]configToolAllCommands响应文件问题 客户在静默安装RAC 12.1.0.2的时候有如下的输出: Successfully Setup Software. As inst ...
- 【第一篇】Android环境搭建
安装不易,且安且珍惜! 1 下载 Java JDK (http://java.sun.com/javae/downloads/ ) (Windows 版) [配置环境变量]:安装完成后,设置JAVA_ ...
随机推荐
- 简单的一段css代码让全站变灰,网站哀悼代码
为表达全国各族人民对抗击新冠肺炎疫情斗争牺牲烈士和逝世通报的深切哀悼,国务院今天发布公告,决定2020年4月4日举行全国性哀悼活动.在此期间,全国和驻外使馆下半旗致哀,全国停止公共娱乐活动,4月4日1 ...
- Jackson:我是最牛掰的 Java JSON 解析器(有点虚)
在当今的编程世界里,JSON 已经成为将信息从客户端传输到服务器端的首选协议,可以好不夸张的说,XML 就是那个被拍死在沙滩上的前浪. 很不幸的是,JDK 没有 JSON 库,不知道为什么不搞一下.L ...
- Java各版本新增特性, Since Java 8
Java各版本新增特性, Since Java 8 作者:Grey 原文地址: Github 语雀 博客园 Java 8 Reactor of Java 这一章来自于<Spring in Act ...
- 【故障公告】redis内存耗尽造成博客后台无法保存
非常抱歉,今天上午11:00~11:30左右,由于 redis 服务器内存耗尽造成博客后台故障--保存博文时总是提示"请求太过频繁,请稍后再试",由此给您带来麻烦,请您谅解. 由于 ...
- html中table表格标题固定表数据行出现滚动条
需求 web系统中有的用户不喜欢分页,希望数据能在一个页面中全部显示出来. 但是页面中是有滚动条的,当查看下面的数据时就不知道数据行中的列对应的是哪个标题的列. 也就是无法知道这个列是什么数据. 所以 ...
- python序列(一)列表的增加
列表是python中内置有序可变序列,列表的所有元素放在一堆中括号"{}"中,并使用逗号隔开 1.列表的创建 使用"="直接创建一个列表 >>> ...
- Apache Cassandra——可扩展微服务应用程序的持久数据存储
通过使用微服务,团队可以更快地响应变化,而无需改动整个应用程序.利用微服务,开发团队可以构建出具有鲁棒性和可扩展性的系统,从而适应当今应用程序的需求. 然而,使用微服务也带来了一系列挑战.在本文中 ...
- ArrayList哪种循环效率更好你真的清楚吗
ArrayList简介 声明:以下内容都是基于jdk1.8的 ArrayList 是一个数组队列,相当于 动态数组.与Java中的数组相比,它的容量能动态增长.它继承于AbstractList,实现了 ...
- 深入浅出!阿里P7架构师带你分析ArrayList集合源码,建议是先收藏再看!
ArrayList简介 ArrayList 是 Java 集合框架中比较常用的数据结构了.ArrayList是可以动态增长和缩减的索引序列,内部封装了一个动态再分配的Object[]数组 这里我们可以 ...
- [LeetCode]141. Linked List Cycle判断循环链表
快慢指针用来判断循环链表 记住 快慢指针有四种常用的应用场景: 1.找到有序链表的中点,快指针到头的时候,慢指针就是中点. 2.判断是不是循环链表,快慢指针相遇就是 3.找到循环链表的起点,以链表头 ...