软件测试方法和技术实践

spContent=质量是永恒的主题,软件测试则是软件质量保证的重要手段,也是软件研发中最主要工作之一。本课程重点讲授软件测试概念、方法、技术、管理及其实践。学生能够掌握系统的软件测试知识体系,并具备功能测试、性能测试和安全性测试等基本技能,能够独立完成测试设计、执行(包括自动化)和报告等实际工作。

1.特色:

1)主讲老师在软件测试领域工业界的业界实际工作经验;

2)采用“问题驱动式教学”方式,从解决问题出发,引出知识点和解决办法;

3)借助案例讲解,理论和实践联系比较好;

4)依从软件开发过程的业界实践往前推进,使学生学以致用,能够很快适应公司的工作环境;

5)软件测试也是一门实践性很强的课程,强调“做中学,学中做”,重视实验辅导,加强测试工具的使用;

6)课堂以分析问题、解决问题为主,课前学生适当预习知识,课后学生要完成基于问题的练习;

7)使学生能够系统地掌握软件测试的知识,更重要的使学生掌握一个合格测试工程师所需的技能;

8)覆盖从单元测试、功能测试、性能测试到安全性测试、易用性测试等各个方面;

9)教学内容能和业界技术同步,例如探索式测试、敏捷测试等新兴内容也会成为教学的重点;

10)会邀请业界的工程师参与课程的教学与答疑;

11)有测试主讲老师签名的课程证书。

受众:在校软件工程、计算机等专业大学生、在职的测试工程师、希望成为测试工程师的有志青年、大学该课程的年轻教师。

1)优秀证书:最终成绩超过80分(optional:处在本学期被评定的学生前20.0%);

2)合格证书:最终成绩超过60分(optional:处在本学期被评定的学生前20.1-70.0%);

3)需要自己申请,并缴纳证书工本费:168元

《C++程序设计》、《Java程序设计》、《软件工程》或《软件工程导论》

教材:

1)朱少民等,《软件测试方法和技术(第3版)》,清华大学出版社,2014

2)朱少民,《全程软件测试(第2版)》,电子工业出版社,2014

模块/问题域

编号

(分)

主题/要解决的问题

(独立视频)

技能/解决问题

知识点/认知

开篇/序曲

(90分钟)

第1周

(10月20日~

10月27日)

0.1

9

课程介绍

全面了解本课程的特点、内容等

课程特点

课程的考核方式

0.2

29

究竟什么是软件测试?

全面理解“软件测试”

在不同的场景能更好发挥测试的价值

软件测试的价值

测试与调试等区别

缺陷、错误、失效

内部质量、外部质量和使用质量

0.3

15

为什么要学软件测试?

培养质量意识

重视软件测试

缺陷带来的危害

软件测试是不可缺少的活动

0.4

9.5

学这门课的收益?

不局限于课程学习,更注重自己综合能力的训练

SWEBOK测试知识体系

有哪些基本的测试技能

五大测试流派

批判性思维

0.5

如何学好这门课?

理论学习和课外实验有机地结合起来

同步、实践、互动与自学

testzilla.org

0.6

测试达人话测试

进一步理解测试的价值

更清楚如何成长为优秀的开发/测试工程师

0.7

3

两位老师的介绍

了解老师,更好地和老师互动

1.单元测试

(9个主题,

215分钟)

第2-3周

(10月25日~

11月10日)

1.1

我是个很棒的程序员,我的代码就不需要测了吗?

理解测试的必要性

人总是容易犯错误的

错误、缺陷、失效

编译与测试

测试与调试

缺陷发现越早、成本越低

1.2

20

给你一段简单代码,知道如何测吗?

能针对代码实现100%语句覆盖、判定覆盖的测试

语句覆盖

分支覆盖/判定覆盖

验证点

测试用例

结构化(白盒)测试方法

1.3

IF判断语句再复杂一些,如何测?

能针对代码实现条件覆盖、判定/条件覆盖、条件组合覆盖的测试

条件覆盖

判定/条件覆盖

条件组合覆盖

MCDC-修正判定条件覆盖

1.4

25

“||”写错了怎么都没发现?

能够根据代码规范完成对代码的评审

代码评审

代码规范

质量模型中的内部质量

走查、同行评审

静态测试与动态测试

广义测试概念

1.5

可以自动检查代码吗?

会使用Checkstyle、FindBugs、SourceMonitor等工具

代码复杂度度量

代码分析工具

代码静态检查工具

1.6

面对一个函数,如何测试?

会执行单元测试

桩程序

驱动程序

单元测试

1.7

绕过数据库,如何进行测试?

能够构建mockobject、fakeobject

Mock

Fake

Dummy

1.8

30

JUnit是单元测试神器吗?

如何使用JUnit对Java代码进行单元测试

xUnit测试框架

JUnit构成

JUnit使用

1.9

还有哪些单元测试工具吗?

了解其它编程语言的代码测试工具

HttpUnit、CppUnit、

PhpUnit、MSVTS等

2.持续集成测试

(3个主题,

117分钟)

第4~5周

(11月10日~

11月17日)

2.1

为什么要持续集成?

了解不同的集成模式

持续集成(CI)的益处

CI要做好哪几件事

集成测试

持续集成及其测试

持续交付

2.2

35

如何搭建CI环境?

能够搭建CI的环境

Jenkins、CruiseControl

SVN/Git

Ant、Maven

2.3

27

如何自动验证Build?

能够开发自动部署脚本

设置cronjob

自动部署

BVT-构建验证测试

自动化测试

2.4

如何更上一层楼?

搭建自动化测试框架

对录制的脚本进行优化

自动化测试框架

数据驱动脚本

关键字驱动脚本

3.功能测试

(12个主题,

270分钟)

第5-7周

(11月17日~

12月6日)

3.1

面对一个系统可以胡乱测试一通吗?

基于上下文的思维能力

扮演用户角色进行测试的能力

功能测试

错误猜测法

基于使用的测试方法

基于应用场景的测试方法

基于需求的测试方法(概念)

黑盒测试方法

软件外部质量

3.2

不了解系统结构就没有测试方法了吗?

能运用相应方法设计测试用例

能结合两种方法一起使用

等价类划分方法(EP)

边界值分析方法(BVA)

数据驱动测试方法(概念)

基于输入域的测试方法(概念)

3.3

能优化测试用例

决策表方法

3.4

自动贩卖机的程序又如何测试?

能画出因果图

能将因果图转化为决策表

因果图方法

3.5

一个在线保险销售系统如何测试?

能正确运用合适方法优化测试组合

使用1-2个pair-wise方法的工具

两两组合(pair-wise)测试

正交实验法

3.6

这个地方没改,怎么也出错了?

基本能够运用回归测试策略

回归缺陷

回归测试

回归测试策略

基于风险的测试策略

3.7

功能测试前要做什么准备?

能够积极参与需求评审

在需求评审中能发挥一定的作用

需求评审

用户故事评审

3.8

如何写出规范的测试用例?

能够书写比较规范的测试用例

测试用例各种属性

测试环境

测试数据

前置条件与后置条件

期望结果

TestSuite–测试集

3.9

可以不写测试用例吗?

基于ET循环(设计、执行、分析、学习)进行测试

理解什么时候采用ET比较合适

基于上下文驱动的测试方法

探索式测试(ET)

基于脚本的测试(ST)

敏捷测试与传统测试(概念)

测试依赖于开发

3.10

能让ET更有章法进行吗?

基本掌握SBTNM管理方法

能够完成sessionsheet

SBTM(Session-BasedTestManagement)

3.11

喜欢做重复的测试吗?

基于Selenium进行web功能的测试

回归测试自动化

UI功能自动化测试工具

其它功能测试工具

3.12

如何针对移动App进行自动化测试?

会使用1-2个比较流行的AndroidApp测试工具

移动应用测试的特点

云测试

众测

4.性能测试

80分钟)

第8周

(12月7日~

12月13日)

4.1

能够评审系统性能指标

知道什么适合需要做性能测试

软件非功能特性

系统性能及其指标

性能测试

设计评审

负载模式

负载测试

4.2

如何做web的性能测试?

能够使用JMeter完成基本的性能测试

性能测试过程

JMeter使用

4.3

还想了解更多的性能测试吗?

能够区分稳定性测试和性能测试

性能验证测试、部署规划测试、容量测试

压力测试

稳定性测试

5.安全性测试

第9周

(12月14日~

12月20日)

5.1

听说过“白帽黑客”吗?

能够识别软件产品的安全等级

针对不同的安全等级,知道要做哪些安全性测试

软件产品安全性等级

安全性功能

安全漏洞

安全性测试

5.2

Web有哪些安全漏洞?

了解web安全漏洞模式

OWASP最近列出的十大安全威胁

OWASPTestingGuide

5.3

如何进行web安全性测试

会使用WebScarab等工具进行安全性渗透测试

安全性功能测试

渗透测试

Web安全性测试工具

Web安全性测试方法

6.其它非功能性测试

(2个主题,

40分钟)

第10周

(12月21日~

12月26日)

6.1

怎么不兼容了?

掌握数据兼容性测试方法

掌握系统兼容性测试方法

兼容性测试

数据兼容及其测试

系统兼容及其测试

系统迁移

数据迁移

6.2

这个系统太不好用了!

能够基于用户的体验进行测试

用户体验

使用质量

易用性测试

7.验收测试

35分钟)

7.1

上线前还需要做什么测试?

理解生产环境和研发环境的差异而能正确地完成验收测试

验收测试

生产环境和研发环境的差异

敏捷开发中验收测试

7.2

可以进行在线测试吗?

识别要监控的参数

软件在线测试的能力

在线测试(TiP)

α测试与β测试

主动测试与被动测试

8.测试管理

(4个主题,

125分钟)

第11~12周

(12月27日~

元月9日,2016)

8.1

如何更好地掌控测试全局?

完整地理解测试体系能理解当前所处的阶段协助团队做好测试管理和测试改进

测试生命周期,如W模型/TMap测试级别测试类型过程改进,如TMMi/TPI

8.2

预则立,如何做好测试计划呢?

基本能够写一个完整的测试计划

能够识别测试的主要风险

能够确定测试项的优先级

测试计划

测试需求分析

测试项

测试优先级

测试估算

测试风险

测试策略

8.3

如何将一个Bug报告清楚?

能够准确、清楚地报告缺陷

Bug的基本描述

Bug严重性和优先级

缺陷与质量的关系

8.4

缺陷如何跟踪与管理?

能够协助开发团队跟踪缺陷

通过缺陷分析,帮助开发预防缺陷

缺陷状态

缺陷生命周期

缺陷度量

缺陷分析

测试报告

9.总结

45分钟)

第13周

(元月10日~

元月16日)

考试

9.1

总结

能处理好测试周围的环境客观辩证地理解测试方式和方法能够因地制宜采用正确的测试方式和方法

静态测试与动态测试黑盒测试与白盒测试手工测试与自动化测试ET与ST传统测试与敏捷测试开发与测试关系测试与QA的关系

9.2

100

1)LisaCrispin等,孙伟峰等译,敏捷软件测试:测试人员与敏捷团队的实践指南,清华大学出版社,2010

2)GlenfordJ.Myers,张晓明等译,《软件测试的艺术》第3版,机械工业出版社,2013

3)AlanPageken等,张奭等译,《微软的软件测试之道》,机械工业出版社,2009

4)JamesW.,《Google软件测试之道》,人民邮电出版社,2013

5)StephenVance,《优质代码:软件测试的原则、实践与模式》,人民邮电出版社,2015

6)AndrewHunt,《单元测试之道java版——使用junit》,电子工业出版社,2005

7)王磊等,《Windows软件测试探秘》,电子工业出版社,2013

8)赵卓,《Selenium自动化测试指南》,人民邮电出版社,2013

9)段念,《软件性能测试过程详解与案例剖析(第2版)》,清华大学出版社,2012

10)PacoHope,傅鑫译,《Web安全测试》,清华大学出版社,2010

11)史亮等,《探索式测试实践之路》,电子工业出版社,2012

12)ElisabethHendrickson,徐毅译,《探索吧!深入理解探索式软件测试》,机械工业出版社,2014

13)杨莉等,《软件自动化测试——入门、进阶与实战》,电子工业出版社,2012

14)Graham,D.等,朱少民等译,《自动化测试最佳实践:来自全球的经典自动化测试案例解析》,机械工业出版社,2013

15)肖利琼,软件测试之魂:核心测试设计精解,电子工业出版社,2013

16)MattWynne等,《Cucumber:行为驱动开发指南》,人民邮电出版社,2013

17)......

国内软件测试界的领军人物和资深专家,出版了十多部著作,包括《全程软件测试》、《软件测试方法和技术》等。曾任思科网迅(中国)QA高级总监,

THE END
1.软件测试基础知识为什么要学软件测试?软件测试是产品质量的保证,是控制成本的关键,是软件可靠性确认。软件 软件是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为编程语言、系统软件、应用软件和介于这两者之间的中间件。软件的组成 软件 = 文档 + 程序集合 程序 程序是软件的一部分,而软件是程序以及开发、https://baijiahao.baidu.com/s?id=1796217114540962704&wfr=spider&for=pc
2.初学者该如何自学软件测试?对应的视频资源链接:系统测试-Python测试开发\软件测试(Linux\接口测试\UI自动化\性能测试\测试框架\https://www.zhihu.com/question/430082359/answer/1782409460
3.软件测试自学指南从入门到精通软件测试自学指南---从入门到精通 近来,软件测试行业发展迅速,企业越来越重视测试了。越来越多的人加入了测试大军中,很多人也想通过自学来学习软件测试技术加入这个行业,但是现在软件测试的书籍越来越多,也良莠不齐,而且软件测试涉及的技术也越来越多。本文主要说明的是从事软件测试行业需要必备的知识,以及该如何学习,https://blog.csdn.net/xc5683/article/details/9448427
4.软件测试整理的自学资料Dotest软件测试学堂软件测试-整理的自学资料-实战项目、实际操作非常重要… 包含:如何自学软件测试、软件测试面试问题、软件测试如何包装简历、App测试重点、测试逻辑思维、用例如何写、用例如何保证覆盖率、实际公司迭代测试怎么做、迭代测试的重点、需求确认、上线后为什么跟踪测试…等等… https://www.cnblogs.com/dotest/p/10787343.html
5.自学大全:软件测试(3).pdf自学大全:软件测试(3).pdf,实用标准文案 三、填空题(每空 1 分, 24 分) 1 .软件验收测试包括、 、三种类型。 答: a 测试, b 测试 ,正式验收测试 2 .系统测试的策略有哪 15 种方法。 功能测试 、性能测试 、 压力测试、容量测试、 安全性测试 、可用性测试、 GUI 测https://max.book118.com/html/2020/0705/8003060114002122.shtm
6.自学软件测试要学哪些?51CTO博客读者提问:自学软件测试要学哪些? 阿常回答:这个问题我从三点回答 1、测试人要掌握的硬技能 2、测试人要掌握的软技能 3、推荐给大家的学习渠道 一、测试人要掌握的硬技能 1、软件测试基础理论 2、数据库 SQL 编写 3、Linux 命令的使用 4、会写脚本(Python/Java) https://blog.51cto.com/u_15699256/5499765
7.零基础小白如何自学软件测试?tips:软件测试是一门重复性的岗位,要做好它不是一件容易的事。 2.如何自学软件测试 可以去百度看下大厂软件测试岗位要求,大部分都是差不多的。 (1)首先,要学习软件测试的基础理论知识(软件测试流程、测试用例设计方法、bug生命周期、如何提交bug、需求分析等),至少要学会黑盒测试方法的各种用例设计--我认为基础https://www.360doc.cn/article/25354658_1106277701.html
8.自学软件测试的5个宝藏网站,从此学测试不求人!#软件测试#自学软件测试的5个宝藏网站,从此学测试不求人!#软件测试 #软件测试工程师 #软件测试学习 #抖音图文来了 @抖音小助手 - 软件测试百科全书于20220112发布在抖音,已经收获了2153个喜欢,来抖音,记录美好生活!https://www.douyin.com/note/7052271842643512584
9.2020新版软件自动化测试自学全套教程——中级程序员学习路线Time will tell. 前言 不知不觉间,在软件测试行业折腾了七年。七年之痒即将过去,但我依然热爱着软件测试这份工作,一路坚持,走到现在。 经历过各种难题,有过迷茫,https://www.jianshu.com/p/a0651de6841e
10.软件测试自学网站软件测试自学教程软件测试培训课程SPASVO测试学院为您提供:软件测试自学网站,软件测试自学教程,软件测试培训课程等内容。https://edu.spasvo.com/
11.软件测试面试题柠檬班自动化测试软件测试培训柠檬班是全国领先的在线软件测试培训机构,坚持“创新教学、用心教学、专业实用”的教学理念,提供功能测试、性能测试、自动化测试、测试开发等领域构筑“针对性”的教学优势,免费为学员提供更加优质、实用、专业的教学课程。http://www.lemonban.com/
12.做了低薪实施4年转行软件测试,两年半经验的我是靠什么拿下年薪50W2021测试开发面试题大全及答案(包含测试基础|接口测试|自动化测试…),289页 1、自学软件测试要学习哪些内容? 确实有三年之内解决年薪50万的。就是长期提升技术以及可能在创业公司经历的比较多。自然而然就会锻炼自己的代码开发能力。 我按照薪资的不同大致划分成3个档位: https://maimai.cn/article/detail?fid=1675999043&efid=mx_HVZE39ls9VK2pTeQIGA
13.软件测试培训知识软件测试培训百科知识买购网知识课堂是一个全面、易读、丰富的网络百科全书,旗下软件测试培训频道汇集了互联网用户广泛关注的软件测试培训知识,助您轻松了解、学习软件测试培训相关知识,是你了解软件测试培训百科知识的参考网站。https://www.maigoo.com/goomai/list_9825.html
14.07028软件测试技术考试资料大全自考教材真题答案本栏目提供自学考试07028软件测试技术各类考试资料,包括软件测试技术自考教材及购买方式、软件测试技术复习资料、历年真题及答案、模拟试题、自考题库、搜题答案、考试大纲、备考方法、视频网课等自考07028软件测试技术考试资料,以供考生们复习使用。https://www.zikaosw.cn/zkkm/1588.html
15.松勤软件测试中国软件测试认证委员会(CSTQB?)专家组成员、注册讲师。 心田老师 —— 课程讲师 中国软件测试认证委员会(CSTQB?)注册讲师,曾任人工智能上市公司部门经理 苏三老师 —— 课程讲师 10年+工作经验,国际软件测试高级分析师(ISTQB-TA)。 樊老师 —— https://www.songqinnet.com/
16.软件测试学习路线图- 功能测试管理工具:UFT(QTP)、Rational、WinRunner、selenium等 - 性能测试管理工具: Loadrunner、Jmeter、等。 关于自学: 1.软件测试入门容易,但是这不是你认为它好学的理由,你怎样轻视它,它就怎样轻视你;2.门槛低意味着容易入门,但同时也意味着要爬升的道路比较长;3.看书解决不了问题,只是参考,书籍更新速度慢,https://www.itcast.cn/news/20190320/14060461600.shtml
17.网络课堂《软件测试与质量保证》是软件工程专业一门重要的专业核心课程,该课程介绍软件质量工程的基本概念与理论,软件测试原理与方法、软件测试技术、软件测试规范和软件测试工具实践等内容。通过本课程学习,培养学生对软件质量工程的正确认识,掌握软件测试与质量保证的基本方法和核心技术,建立软件测试的工程实践能力。 https://study.uestc.edu.cn/wlkt/index.aspx?courseId=0962
18.软件测试基础知识总结if软件测试教程软件测试测试师培训软件测试基础知识总结 if软件测试教程 软件测试 测试师培训 2022-10-05 44:52 人力资源经理入职培训 人力资源筛选技巧 人力资源管理师培训面 2022-10-05 45:01 人力资源培训专业知识 如何自学考企业人力资源管理师 北京好的 2022-10-05 52:18 零基础c 语言教程 学习c语言可以做什么 代码烟花心形表白教 2022-08https://m.youku.com/video/id_XNTkwOTA2NjcwOA==.html