《精通软件性能测试与LoadRunner最佳实战》—第1章1.2节软件相关概念解析

简介:

本节书摘来自异步社区《精通软件性能测试与LoadRunner最佳实战》一书中的第1章1.2节软件相关概念解析,作者于涌 , 王磊 , 曹向志 , 高楼 , 于跃,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.2 软件相关概念解析
精通软件性能测试与LoadRunner最佳实战
大家从上面的软件故障或缺陷的实例中不难发现,这些软件故障和缺陷拥有很多的共同特点。首先,软件的开发过程与预期设计目标不一致,如前面举的爱国者导弹的例子。其次,闭门造车,没有实际考察客户的真正应用环境,仅仅按照自己的想法进行实施,尽管进行了测试,但是并没有覆盖到大多数用户应用软件的所有场景,如狮子王游戏软件就是因为研发出来的软件没有考虑实际用户的应用环境而引发的问题;而奥运售票系统也反映出在没有考虑到实际用户的访问量的情况而造成的重大的事故。

那么什么是软件?什么是缺陷呢?什么是软件生命周期?在学习软件测试之前,大家应对这些概念有一个清晰的认识。

1.软件的概念
简单地说,软件就是程序与文档的集合。程序指实现某种功能的指令的集合,如目前广泛被应用于各行各业的Java程序、Delphi程序、Visual Basic程序、C#程序等。文档是指在软件从无到有这个完整的生命周期中产生的各类图文的集合。具体可以包括《用户需求规格说明书》、《需求分析》、《系统概要设计》、《系统详细设计》、《数据库设计》、《用户操作手册》等相关文字及图片内容。

2.软件缺陷的概念
软件缺陷是指计算机的硬件、软件系统(如操作系统)或应用软件(如办公软件、进销存系统、财务系统等)出现的错误,大家经常会把这些错误叫做“Bug”。“Bug”在英语中是臭虫的意思。在以前的大型机器中,经常出现有些臭虫破坏了系统的硬件结构,导致硬件运行出现问题,甚至崩溃。后来,Bug这个名词就沿用下来,Bug被引伸为错误的意思,什么地方出了问题,就说什么地方出了Bug,也就用Bug来表示计算机系统或程序中隐藏的错误、缺陷或问题。

硬件的出错有两个原因,一种原因是设计错误,另一种原因是硬件部件老化失效等。软件的错误基本上是由于软件开发企业设计错误而引发的。设计完善的软件不会因用户可能的误操作产生Bug,如本来是做加法运算,但错按了乘法键,这样用户会得到一个不正确的结果,这个误操作产生错误的结果,但不是Bug。

3.软件生命周期的概念
软件生命周期是从软件需求的定义、产生直到被废弃的生命周期,生命周期内包括软件的需求定义、可行性分析、软件概要设计、软件详细设计、编码实现、调试和测试、软件验收与应用、维护升级到废弃的各个阶段,这种按时间分为各个阶段的方法是软件工程中的一种思想,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
8天前
|
数据采集 消息中间件 监控
Flume数据采集系统设计与配置实战:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入探讨Apache Flume的数据采集系统设计,涵盖Flume Agent、Source、Channel、Sink的核心概念及其配置实战。通过实例展示了文件日志收集、网络数据接收、命令行实时数据捕获等场景。此外,还讨论了Flume与同类工具的对比、实际项目挑战及解决方案,以及未来发展趋势。提供配置示例帮助理解Flume在数据集成、日志收集中的应用,为面试准备提供扎实的理论与实践支持。
23 1
|
17天前
|
监控 前端开发 JavaScript
实战篇:商品API接口在跨平台销售中的有效运用与案例解析
随着电子商务的蓬勃发展,企业为了扩大市场覆盖面,经常需要在多个在线平台上展示和销售产品。然而,手工管理多个平台的库存、价格、商品描述等信息既耗时又容易出错。商品API接口在这一背景下显得尤为重要,它能够帮助企业在不同的销售平台之间实现商品信息的高效同步和管理。本文将通过具体的淘宝API接口使用案例,展示如何在跨平台销售中有效利用商品API接口,以及如何通过代码实现数据的统一管理。
|
21天前
|
安全 Java 数据安全/隐私保护
【深入浅出Spring原理及实战】「EL表达式开发系列」深入解析SpringEL表达式理论详解与实际应用
【深入浅出Spring原理及实战】「EL表达式开发系列」深入解析SpringEL表达式理论详解与实际应用
44 1
|
6天前
|
SQL API 数据库
Python中的SQLAlchemy框架:深度解析与实战应用
【4月更文挑战第13天】在Python的众多ORM(对象关系映射)框架中,SQLAlchemy以其功能强大、灵活性和易扩展性脱颖而出,成为许多开发者首选的数据库操作工具。本文将深入探讨SQLAlchemy的核心概念、功能特点以及实战应用,帮助读者更好地理解和使用这一框架。
|
6天前
|
Web App开发 测试技术 网络安全
|
6天前
|
监控 jenkins 测试技术
深入探索软件自动化测试的高效策略
【4月更文挑战第13天】 随着软件开发周期的不断缩短和发布频率的增加,传统的手动测试方法已难以满足快速迭代的需求。本文将详细探讨如何通过有效的自动化测试策略提高测试效率和质量。我们将分析自动化测试中的关键要素,包括测试用例的设计、框架选择、持续集成的应用以及性能监控,并结合实际案例来展示如何构建和维护一个健壮的自动化测试系统。文中还将讨论自动化测试过程中常见的误区和挑战,为读者提供实用的解决方案和最佳实践。
|
7天前
|
Java 数据库 Spring
切面编程的艺术:Spring动态代理解析与实战
切面编程的艺术:Spring动态代理解析与实战
23 0
切面编程的艺术:Spring动态代理解析与实战
|
9天前
|
算法 测试技术 持续交付
深入探索白盒测试:提升软件质量的关键策略
【4月更文挑战第11天】 在软件开发的复杂世界中,确保代码的健康性与可靠性是至关重要的。白盒测试作为一种软件测试方法,允许测试者深入到程序的内部结构,以检查其逻辑和算法的正确性。本文将探讨白盒测试的核心概念、技术及其在提高软件质量方面的应用,特别是如何通过有效的白盒测试策略来优化测试过程并降低错误率。
|
14天前
|
测试技术
深入白盒测试:提升软件质量与性能的关键策略
【4月更文挑战第6天】 在软件开发的生命周期中,确保代码质量和性能始终是至关重要的环节。白盒测试作为一种深入代码内部的测试方法,提供了对程序结构、逻辑路径和内部功能的全面评估。本文将探讨白盒测试的核心概念、技术及其在提升软件质量与性能方面的应用。通过分析控制流测试、数据流测试和静态代码分析等关键技术,我们揭示了白盒测试如何有效发现潜在缺陷,优化代码效率,并增强系统稳定性。
|
20天前
|
Web App开发 Java 测试技术
深入理解与应用软件自动化测试工具Selenium
随着软件开发的快速发展,软件测试在保证产品质量方面发挥着越来越重要的作用。其中,自动化测试以其效率高、成本低的特点受到了广大开发者的欢迎。本文主要介绍了自动化测试工具Selenium的基本概念、原理以及在实际开发中的应用,旨在帮助读者更好地理解和使用Selenium进行高效的自动化测试。
22 4

推荐镜像

更多