下面是我参加Dell测试开发岗面试前准备的除建立外的内容,包含测试基础知识,计算机基础,网络,常见问题以及linux常用命令:
问题:
为什么适合做一名测试工程师(兴趣,基础,编程以及个人性格)
基本理论范围:
软件是计算机系统中与硬件相互依存的另一部分,
软件包括程序+文档
===测试的定义,目标,目的,常识(前面是面试必修,常识乃武功秘籍)
软件测试的定义是:@软件测试是在现有软件中寻找缺陷过程@使用人工或自动手段来运行或测试某个系统的过程,目的在于检验是否满足规定的需求或弄清预期结果与实际结果之间的差别,或者说找出软件产品中的错误使软件尽可能符合用户要求。
目标:发现一些可以通过测试避免的开发风险;;实施测试来降低所发现的风险;;确定测试何时可以结束;;在开发项目的过程中将测试看作是一个标准项目;;测试的其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
===测试技术的划分
@从是否关心软件内部结构和具体实现的角度划分 A.白盒测试 B.黑盒测试 C.灰盒测试
@从是否执行程序的角度 A.静态测试 B.动态测试
@从软件开发的过程按阶段划分
A.单元测试B.集成测试C.确认测试D.系统测试E.验收测试F.回归测试G.Alpha测试H.Beta测试
* 测试过程按4个步骤进行,即单元测试、集成测试、确认测试和系统测试及发版测试。
* 开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。
* 集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。
* 确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。
* 系统测试把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。
各种测试定义:
第一种划分:黑盒,白盒,灰盒
黑盒测试:方法主要有等价类划分、边值分析、因—果图、错误推测等。
又叫功能测试,把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,根据规格说明书,通过操作软件验证程序的功能是否与规格说明书规定的一致。主要用于软件确认测试
白盒测试:
也称结构性测试,是基于代码的测试,按照程序内部的逻辑结构,检测程序是否能按预定要求进行正确的工作。
灰盒测试
介于白盒测试与黑盒测试之间的测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况,但这种关注不像白盒测试那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态。
灰盒测试结合了白盒测试和黑盒测试的要素。它考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同性环境中评价应用软件的设计。
回归测试:
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。
冒烟测试:
是指在对一个新版本进行系统大规模的测试之前,先验证一下软件的基本功能是否实现,是否具备可测性,冒烟测试又称版本验证测试。冒烟测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件的基本功能正常,可以进行后续的正式测试工作。简单地说,冒烟测试就是用较少的人,在较短的时间内测试程序的主要功能,如果通过再进行正式的测试。
第二种划分:静态技术、动态技术
静态测试技术(静态分析技术):是指不运行程序,通过人工对程序和文档进行分析与检查;
静态测试实际上是对软件中的需求说明书、设计说明书、程序源代码进行非运行的检查,静态测试包括:走查、符号执行、需求确认等。
动态测试技术:通过人工或使用工具运行程序进行检查、分析程序的执行状态和程序的外部表现。
aplha测试和bate测试的区别?
Alpha测试(α测试):
通常也叫“验证测试”,主要是指在软件开发完成以后,在软件开发环境下,开发方对要提交的软件进行全面的自我检查与验证,可以和软件的“系统测试”一并进行。开发方通过检测和提供客观证据,证实软件的实现是否满足规定的需求。
Beta测试(β测试):
在用户的应用环境下,用户通过运行和使用软件,检测与核实软件实现是否符合自己预期的要求。通常情况用户测试指用户的使用性测试,由用户找出软件的应用过程中发现的软件的缺陷与问题,并对使用质量进行评价。β测试通常被看成是一种用户测试。β测试主要是把软件产品有计划地免费分发到目标市场,让用户大量使用,并评价、检查软件。通过用户各种方式的大量使用,来发现软件存在的问题与错误,把信息反馈给开发者修改。β测试中厂商获取的信息,可以有助于软件产品的成功发布。
规范化的测试流程:
制定测试计划;设计测试用例;执行测试用例;提交缺陷报告;修复软件缺陷
测试总结分析;回归测试;审核;审核;交付
该流程应该站在软件工程的角度来看,如何有机的将其与软件生命周期牢牢结合起来才是关键所在,不然你始终会认为除执行其他阶段都是多余的。(很多公司只做系统测试,那么整个测试生命周期当中只需要制定一套测试计划以及用例;规范化的公司严格按照单元—集成—系统—验收来走,那么每一阶段都需要按照上述流程执行)
测试各阶段文档的内容:
测试每一阶段需要做些什么?依据是什么?如何评测软件的质量以及测试工作的质量?
这一切取决于测试生命周期中产生的四套文档(通过上图你能推断出来么?)
按照顺序依次为:测试计划(测试经理编写)----测试用例(用例设计工程师编写)----bug报告单(用例执行工程师编写)----测试分析报告(测试经理编写)
每个文档的核心各不相同,对应自己职责的文档一定要弄清应该注意哪些要点,掌握哪些技术。记住,它们也许会成为你晋升或者离职的直接因素。
个人认为此模块是四个模块中最核心也是最为实用的部分,但必须建立在前两个知识模块的掌握之上,还要了解被测程序的行业背景。
自动化测试工具的使用及原理
--工具使用前,设计的一系列的测试用例才是最重要的。
--工具,是根据被测软件所选择,需求及界面长期变更的软件就不适合使用录制回放的功能测试工具,所以,各公司按照自己的产品购买相应的测试软件。
--工具,它的思想和测试基础是相通的。理解了测试的规范化流程,TD的使用便是小case。
所以,四个模块中,它是最专业的,但不是最核心的。建议不要在学习软件测试的前期花费大量的时间在它们上面,除非因为工作需要。(自动化测试确实重要,不仅能使测试工作方便,快捷,有些工具还能达到现实中很难达到的目的,节省大量人力物力。它必定会成为测试以后的核心发展方向,得到越来越多公司的肯定。希望大家在能力达到并且有时间的情况下去多学习了解下一些与你行业相关的测试软件,肯定是百利而无一害的)
测试原则:
一,测试应该尽早进行,最好在需求阶段就开始介入,因为最严重的错误不外乎是系统不能满足用户的需求。
二,程序员应该避免检查自己的程序,软件测试应该由第三方来负责。
三,设计测试用例时应考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下不要制造极端状态和意外状态。
四,应该充分注意测试中的群集现象。
五,对策就错误结果进行地一个确认过程。一般由A测试出来的错误,一定要由B来确认。严重的错误可以召开评审会议进行讨论和分析,对测试结果要进行严格的确认,是否真的存在这个问题以及严重程度等。
六,制定严格的测试计划。一定要制定测试计划,并且要有指导性。测试时间安排尽量宽松,不要希望在极短的时间内完成也有一个高水平的测试。
七,妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。
软件开发五个阶段:
1.问题的定义及规划
此阶段是软件开发与需求共同讨论,主要确定软件的开发目标及其可行性。
2.需求分析
在确定软件开发可行性的情况下,对软件需要实现的各个功能进行详细需求分析。需求分析阶段是一个很重要的阶段,这一阶段做的好,将为整个软件项目的开发打下良好的基础。“唯一不变的是变化本身”,同样软件需求也是在软件开发过程中不断变化和深入的,因此,我们必须定制需求变更计划来应付这种变化,以保护整个项目的正常进行。
3.软件设计
此阶段中要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计、数据库设计等。软件设计一般分为总体设计和详细设计。还的软件设计将为软件程序编写打下良好的基础。
4.程序编码
此阶段是将软件设计的结果转化为计算机可运行的程序代码。在程序编码中必定要制定统一、符合标准的编写规范。以保证程序的可读性、易维护性。提高程序的运行效率。
5.软件测试
在软件设计完成之后要进行严密的测试,一发现软件在整个软件设计过程中存在的问题并加以纠正。整个测试阶段分为单元测试、组装测试、系统测试三个阶段进行。测试方法主要有:白盒测试和黑盒测试。
##################################################################
测试用例是由测试人员在测试执行之前编写的文档,用于指导测试过程.
------什么是软件缺陷?
需求规格说明书中要求的功能未实现
需求规格说明说中未要求的功能实现了
程序中出现了需求规格说明书中指明不该出现的问题
需求规格说明书中虽未明确提及,但必须实现的功能未实现
程序难以理解,不易使用,界面不美观,用户体验不好等
----如何识别bug
参照需求文档,实际与文档不符就是bug
与需求人员,开发人员,用户进行讨论
参照测试用例中的预期结果,实际结果与预期结果不符的就是bug
第一台计算机诞生在什么时候?叫做什么名字?
1946-2-15,叫做“艾尼阿克”
计算机的层次?
计算机分为3个层次:应用软件、操作系统、计算机硬件/裸机
裸机包含软件吗?如何进入?
裸机也包含软件,主要是bios程序;
开机或重启以后,迅速按下“delete”键(如果是笔记本,一般为功能键,如F2)
软件的分类?
软件包括系统软件和应用软件
按照系统软件划分?
操作系统、操作系统的补丁程序、驱动程序
按照软件结构划分?
可分为单机版软件和分布式软件;
根据客户端的特点将分布式软件分为c/s结构和b/s结构
什么是c/s结构和b/s结构?
①C/S结构:client/server客户端/服务器结构,客户端需要使用该公司提供的专门软件才能享受服务,QQ、微信、滴滴打车
②B/S结构:browser/server浏览器/服务器结构,客户端只要有浏览器就可以访问服务,网站、搜索引擎、论坛
什么是缺陷报告?
缺陷报告记录了测试人员在测试时发现的缺陷,是测试人员和开发人员交流和沟通的重要工具
缺陷报告包括那些(重要组成)?
1.缺陷编号:Defect
2.缺陷标题:Summary
3.缺陷的所属模块:Subject
4.缺陷的发现者:Detected By
5.缺陷的发现日期:Detected on date
6.缺陷的发现版本:Detected in release
7.缺陷指派给:Assigned to
8.缺陷的状态:Status
9.缺陷的严重程度:Severity
10.缺陷的优先级:Priority
11.缺陷描述:Description
提交缺陷报告时,缺陷的等级划分
严重级别(S1):系统崩溃、数据丢失、数据毁坏
较严重(S2):流程走不通、操作性错误、结果错误
模块性错误(S3):功能遗漏、功能不实现
一般错误(S4):小问题,错别字,界面排版不合理等
建议性错误(S5):不影响产品质量的瑕疵
缺陷报告的处理流程?
1.测试人员发现新的bug,将状态改为new,转交给开发经理
2.开发经理验证该bug是否有效:
如果是缺陷,将状态改为open,分配给相应的开发人员
如果不是缺陷,将状态改为rejected
3.开发人员看到指派给自己的bug,进行修改,修改完后,把缺陷状态改为fixed
4.测试人员对修复的bug进行返测:
如果反测成功,将缺陷状态改为closed
如果返测失败,将缺陷状态改为reopen
缺陷报告的用途?
1.记录bug
2.对bug进行分类表达
3.跟踪管理bug
4.对bug进行分析,统计
缺陷的严重程度是什么?分为哪些等级?各代表的含义是什么?
缺陷的严重程度是表明bug对软件或用户造成的影响有多大
1.Urgent:造成死机,系统崩溃等致命问题
2.Veryhigh:非常严重的问题
3.High:严重的问题
4.Medium:中等程度的问题
5.Low:小的问题(尽量在发布之前解决)
缺陷的优先级是什么?分为哪些等级?各代表的含义是什么?
缺陷的优先级是希望程序员在什么时间,或在程序的哪个版本中修复bug
1.Urgent:立即修改,否则影响开发或者测试的进度
2.Veryhigh:本版本修改
3.High:下个版本修改
4.Medium:发布之前修改
5.Low:允许在发布中存在的bug
优先级需要考虑哪些重点因素?
1.严重程度:一般严重程度越高,优先级越高(但不是严格成正比关系)
2.影响范围:一般影响范围越大,优先级越高
3.开发组的任务压力:任务压力越小,优先级越高
4.解决bug的成本:成本越低,优先级越高
什么是缺陷描述?
把发现bug的步骤、过程、使用的数据记录下来,让程序员通过此描述重视bug
所有的bug在软件发布之前都必须解决的吗?
不是所有的bug在软件发布之前都能够解决;
对于没有解决的bug,一般要通过项目组的讨论,明确不解决bug的风险、给用户造成的损失以及解决缺陷的成本
编写测试用例有哪些方法?各方法的应用场合?
1.等价类划分法
只要有数据输入的地方就可以使用,从无穷多的数据中挑选出少数代表性数据进行测试
2.边界值法
只要有数据输入的地方就可以使用,往往和等价类划分法一同使用,形成一套完善的测试方法;找到有效数据和无效数据的分界点,对分界点及其两边的点,进行单独测试
3.因果图法
在一个界面中有多个控件,控件之间存在一定的组合关系和限制关系,不同的输入组合会产生不同的输出结果,为了弄清输入组合和输出之间的对应关系,选择因果图法
4.判定表法
判定表和因果图本质上是一种方法,都是解决控件组合问题,判定表法是因果图法的简化
5.正交排列法
6.场景法
7.测试大纲法
写用例时的参考?
1.需求文档(开发文档如果可以参考最好)
2.对照已经开发出来的程序
3.与需求人员,开发人员,用户进行沟通
测试思想?
穷举测试是最完善的测试方法,但由于时间成本过高,实际工作中不宜采用。
所以在保证质量的同时,使用最少的数据完成测试过程。
什么是有效等价类?
对程序的规格说明有意义,合理的数据的集合,程序接收到有效等价类数据应该正确计算执行
什么是无效等价类?
对程序规格说明无意义,不合理的数据集合,程序接收到无效等价类数据,应该给出错误提示,或根本不允许输入
无效等价类主要考虑的因素?
1.需求要求不能为空或必填,无效等价类就是为空
2.数据有范围要求,无效等价类就是超出范围
3.字符有个数要求,无效等价类就是超出规定的范围
4.数据有格式样式类型的要求,无效等价类就是测试格式样式。类型非法
5.需求有小数点位数要求,无效等价类就是保留位数超过范围
6.需求要求不能重复,无效等价类就是重复
一个好的软件的基本特点?
1.要求的功能要实现
2.具有很强的异常处理能力(健壮性)
RAD(RapApplication Development,快速应用开发)模型是软件开发过程中的一个重要模型,由于其模型构图形似字母V,所以又称软件测试的V模型。它通过开发和测试同时进行的方式来缩短开发周期,提高开发效率。
V模型大体可以划分为以下几个不同的阶段步骤:需求分析、概要设计、详细设计、软件编码、单元测试、集成测试、系统测试、验收测试。
V模式是一种传统软件开发模型,一般适用于一些传统信息系统应用的开发,而一些高性能高风险的系统、互联网软件,或一个系统难以被具体模块化的时候,就比较难做成V模式所需的各种构件,需要更强调迭代的开发模型或者敏捷开发模型。
优点:
1.测试阶段划分明确
2.和开发的对应关系明确
3.既包含底层测试(单元测试)又包括用户级测试(验收)
缺点:
1.容易理解成软件测试是开发完成之后才参与的
2.没有体现出测试前期的工作(写计划、用例、测试文档),不符合越早测试和不断测试的原则
深入理解:
1.对需求、开发文档进行测试
2.根据开发文档编写测试计划、测试用例等,为执行用例最准备
V&V(双V)模型,并不是在V模型上增加一个V模型,而是开发阶段与测试设计阶段同步进行,开发保证需求被实现,测试验证是否正确。体现了测试真正意义--存在于软件生命周期的各个阶段,也体现了测试分层和分阶段的本质特性,测试执行的顺序与开发的活动相反。需求分析基线、HLD基线、LLD基线,分别对应ST测试、IT测试、UT测试,而这三个测试过程又分为计划、设计、实施和执行。后期的验收测试、α测试和β测试,又对应了开发的验收、发布和维护。
双V模型也被称作W模型。
互联网是为了通信,通信又依赖于协议。总结了多个网络协议。
网络协议属于技术,但深受政策与历史的影响。Ethernet, IP, UDP, TCP, HTTP, DNS... 这些协议形成茂密的树林,盘根错节。协议之间有时合作,有时竞争,有时弱肉强食的取代。了解网络分层,是理解这个森林的第一步。而森林的心脏,是存在了三十多年的TCP/IP套装。在变化迅捷的IT领域,TCP/IP历久弥新。
五层协议:物理层:以太网 · 调制解调器 · 电力线通信(PLC) · SONET/SDH · G.709 · 光导纤维 · 同轴电缆 · 双绞线等
数据链路层:Wi-Fi(IEEE 802.11) · WiMAX(IEEE 802.16) · ARP · RARP ·ATM · DTM · 令牌环 · 以太网 ·FDDI · 帧中继 · GPRS · EVDO ·HSPA · HDLC · PPP · L2TP ·PPTP · ISDN·STP 等网络层协议:IP (IPv4 · IPv6) · ICMP· ICMPv6·IGMP ·IS-IS · IPsec 等传输层协议:TCP · UDP · TLS · DCCP · SCTP · RSVP · OSPF 等应用层协议:DHCP · DNS · FTP · Gopher · HTTP· IMAP4 · IRC · NNTP · XMPP ·POP3 · SIP · SMTP ·SNMP · SSH ·TELNET · RPC · RTCP · RTP ·RTSP· SDP · SOAP · GTP · STUN · NTP· SSDP · BGP · RIP ·ED2K等
TCP/IP协议作为互联网的基础协议毫无疑问是这三大协议中最重要的一个,没有它就根本不可能上网,任何和互联网有关的操作都离不开TCP/IP协议。TCP/IP协议族中包括上百个互为关联的协议,不同功能的协议分布在不同的协议层, 几个常用协议如下: 1、Telnet(Remote Login):提供远程登录功能,一台计算机用户可以登录到远程的另一台计算机上,如同在远程主机上直接操作一样。2、FTP(File Transfer Protocol):远程文件传输协议,允许用户将远程主机上的文件拷贝到自己的计算机上。3、SMTP(Simple Mail transfer Protocol):简单邮政传输协议,用于传输电子邮件。4、NFS(Network File Server):网络文件服务器,可使多台计算机透明地访问彼此的目录。5、UDP(User Datagram Protocol):用户数据包协议,它和TCP一样位于传输层,和IP协议配合使用,在传输数据时省去包头,但它不能提供数据包的重传,所以适合传输较短的文件。
什么是兼容性测试?兼容性测试侧重哪些方面?
主要检验的是软件的可移植性,检查软件在不同的硬件平台软件平台上是否可以正常的运行。细分会有:平台的兼容,网络兼容,数据库兼容,数据格式的兼容等。
单元测试、集成测试、系统测试的侧重点是什么?答题建议:围绕重点简单概括即可。如下:单元测试的重点是系统的模块,包括子程序的正确性验证等。集成测试的重点是模块间的衔接以及参数的传递等。系统测试的重点是整个系统的运行以及与其他软件的兼容性。
设计用例的方法、依据有那些?答题建议:测试分白盒测试和黑盒测试
白盒测试用例设计有如下方法:基本路径测试、等价类划分、边界值分析、覆盖测试、循环测试、数据流测试、程序插桩测试、变异测试。依据就是详细设计说明书及其代码结构。
黑盒测试用例设计方法:基于用户需求的测试、功能图分析方法、等价类划分方法、边界值分析方法、错误推测方法、因果图方法、判定表驱动分析方法、正交实验设计方法。依据是用户需求规格说明书,详细设计说明书。
一个测试工程师应具备那些素质和技能?答题建议:一个好的测试工程师,不仅要基础扎实,对自身的性格、责任心都有非常高的要求。具体如下:(1)掌握基本的测试基础理论(2)本着找出软件存在的问题的态度进行测试,即客观吧,不要以挑刺形象出现(3)可熟练阅读需求规格说明书等文档(4)以用户的观点看待问题(5)有着强烈的质量意识(6)细心和责任心(7)良好的有效的沟通方式(与开发人员及客户)(8)具有以往的测试经验(9)能够及时准确地判断出高危险区在何处.
集成测试通常都有那些策略?答题建议:大致说四点即可,当然说全更好。集成测试有十种策略:(1)大爆炸集成(2)自顶向下集成(3)自底向上集成(4)三明治集成(5)分层集成(6)基干集成(7)基于功能的集成(8)基于消息的集成(9)基于风险的集成(10)基于进度的集成.
测试用例设计综合策略
1. Myers提出了使用各种测试方法的综合策略:
1) 在任何情况下都必须使用边界值分析方法,经验表明用这种方法设计出测试用例发现程序错误的能力最强。
2) 必要时用等价类划分方法补充一些测试用例。
3) 用错误推测法再追加一些测试用例。
4) 对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达到要求的覆盖标准,应当再补充足够的测试用例。
5) 如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法。
2. 测试用例的设计步骤
1) 构造根据设计规格得出的基本功能测试用例;
2) 边界值测试用例;
3) 状态转换测试用例;
4) 错误推测测试用例;
5) 异常测试用例;
6) 性能测试用例;
7) 压力测试用例。
3. 优化测试用例的方法
1) 利用设计测试用例的8种方法不断的对测试用例进行分解与合并;
2) 采用遗传算法理论进化测试用例;
3) 在测试时利用发散思维构造测试用例;
设计测试用例(比如鼠标,微信红包,杯子,发微博)
@@@@鼠标@@@@@
1. 首先确认测试目标的功能范围。
目前市场的鼠标功能多种多样,建议通过规划测试鼠标的品牌型号来确认哪些鼠标功能是需要测试的。
2. 功能范围确认后,以矩阵表的方式来设计功能用例框架模型。将你能想到的鼠标功能分别列在首行和首列,如下表,通过组合方式查找出鼠标各个功能的组合。比如:“左键长按”+“鼠标移动” = “拖拽动作”(备注:注意删除无效组合)
序号 功能 左键单击 左键双击 左键长按 右键点击 滚轮
1 左键单击
2 左键双击
3 左键长按
4 右键点击
5 滚轮
3. 然后再根据上表的单个功能设计性能用例。
性能用例考虑3个维度:次数、响应时间、精确度、其他指标(如无线鼠标,在硬件标准中的辐射等。)
4.最后,根据产品实际需求设计兼容性用例。
兼容性用例考虑3个维度:接口方式(串口/无线/USB等)、硬件原理(机械/光电/光感)、产品兼容(主要指计算机与鼠标关系为1对多的场景)
@@@@微信红包@@@@@
1. UI界面测试:包括
编写红包信息时,UI界面是否规范合理、无错别字
发送红包后,在聊天界面中,红包显示是否规范、红包祝福语是否显示合理。
再他人领取红包后,点击进红包,红包领取信息是否排版规范(特别是多人领取的情况)
其他人领取红包后/自己领取他人红包后,在聊天界面显示领取红包信息是否规范、合理
2. 功能测试:
首先进行链接测试:链接页面的正确
一)发红包时
刚点开一个人/群聊天框,点击右下角“+”,正确显示各项功能
点击“红包”,正确链接到“填写红包信息”页面
在“填写红包信息”页面,点击右上角问号,正确链接到“微信红包疑问解答”页面
在“填写红包信息”页面点击“关闭”,则离开这个页面,回到聊天界面
二)在领取红包时
点击红包,能够正确弹出“开红包”
点击“开”后,正确链接到领取红包的信息
在领取红包信息页面,点击“已存入零钱,可用于发红包”——链接到“零钱”
点击“留言”,正确链接到填写留言页面
点击“查看我的红包记录”,正确链接到“收到的红包”页面
点击“返回”,返回聊天界面
其次,根据边界值分析法和等价类划分法设计测试用例,主要测试功能:
输入金额(在0-200元之间,0元,-1元、200元,201元,0.00元,在特殊日子,测试520等;以及输入的金额与零钱不足——跳转到其他支付方式,如果输入金额其他支付方式也不满足)
输入红包个数(0、100、101,超过群成员个数、小数、负数)
输入红包祝福语:特殊字符、空格、空、超过字符串长度
在支付时,选择各种支付方式,输入密码/指纹(正确、错误)
点击红包(个人红包/群红包-可能已经抢完了,不能再抢;已过期红包-不能再抢)
3. 可用性测试:
在输入框是否可以用快捷键
输入框是否支持回车
4. 安全测试
在输入红包信息的输入框中能识别特殊字符、禁止JS脚本、禁止SQL语句注入
过期红包(>24小时),不能领取,并且退回到零钱里面
调用“支付”接口的安全性(支付密码的安全传输、验证)
5. 性能测试:
即测试在客户端,发红包、打开红包等响应时间是否符合需求设计;
在服务器端,资源利用率(CPU使用率,内存占用率),吞吐率,发布耗时,各接口平均响应时间等等
6. 负载测试
其次,通过增加并发量来测试系统性能情况。
7. 压力测试
最后,还要进行压力测试,即评估系统处于、超过预期负载时的处理能力。
还可以进行强度测试:检查程序对异常情况的抵抗能力,及在极限情况性能下降是否在允许的范围内。
疲劳强度测试:测试系统在长时间运行后的性能测试表现
8. 兼容性测试
不同的系统:安卓、苹果
不同的移动设备:ipad、手机
不同的分辨率
@@@@杯子的测试@@@@
首先分析杯子的设计需求说明书,确定它的界面设计、功能可和另一些制作技术(例如:材质,耐热程度等),其次从以下几个方面进行测试:
1. 界面测试
杯子图案是否符合设计需求,印刷合理、规范
杯子颜色是否符合设计需求
杯子形状是否符合设计需求
杯子上的印刷字体是否符合设计需求、排版合理、没有错别字
杯子的重量是否符合设计需求
杯子是否有异味
2. 功能测试
根据杯子的用途、规格、承受的冷热程度等(假设杯子的规格为:100ml,杯子承受的最高温度:100度),依据边界值分析法和等价类划分法,确认测试用例如下:
杯子能否装100ml的水
杯子盛入50摄氏度的水
杯子盛入100摄氏度的水
杯子盛入0摄氏度的水
快速的装满水,看是否漏水
装满水后,放置几天,查看是否漏水
用过几天以后,杯子的内壁颜色是否脱落
3. 安全性测试
杯子的材料是否有害人身体健康
放入微波炉中,是否会爆炸、融化
从桌子掉到水泥地会否破碎
杯子边缘是否有缺口,容易划伤嘴巴
杯子内壁的燃料会否溶解到水中
4. 可用性测试
是否容易导热-烫手
是否有杯柄,方便端
杯子是否有防滑垫
Linux常用命令
系统信息
arch 显示机器的处理器架构(1)
uname -m 显示机器的处理器架构(2)
uname -r 显示正在使用的内核版本
dmidecode-q 显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i/dev/hda 罗列一个磁盘的架构特性
hdparm-tT /dev/sda 在磁盘上执行测试性读取操作
cat/proc/cpuinfo 显示CPU info的信息
cat/proc/interrupts 显示中断
cat/proc/meminfo 校验内存使用
cat/proc/swaps 显示哪些swap被使用
cat/proc/version 显示内核的版本
cat/proc/net/dev 显示网络适配器及统计
cat/proc/mounts 显示已加载的文件系统
lspci -tv罗列 PCI 设备
lsusb -tv显示 USB 设备
date 显示系统日期
cal 2007 显示2007年的日历表
date041217002007.00 设置日期和时间 - 月日时分年.秒
clock -w 将时间修改保存到 BIOS
关机 (系统的关机、重启以及登出 )
shutdown-h now 关闭系统(1)
init 0 关闭系统(2)
telinit 0关闭系统(3)
shutdown-h hours:minutes & 按预定时间关闭系统
shutdown-c 取消按预定时间关闭系统
shutdown-r now 重启(1)
reboot 重启(2)
logout 注销
文件和目录
cd /home 进入 '/ home' 目录'
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd 进入个人的主目录
cd ~user1进入个人的主目录
cd - 返回上次所在的目录
pwd 显示工作路径
ls 查看目录中的文件
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
ls*[0-9]* 显示包含数字的文件名和目录名
tree 显示文件和目录由根目录开始的树形结构(1)
lstree 显示文件和目录由根目录开始的树形结构(2)
mkdirdir1 创建一个叫做 'dir1' 的目录'
mkdirdir1 dir2 同时创建两个目录
mkdir -p/tmp/dir1/dir2 创建一个目录树
rm -ffile1 删除一个叫做 'file1' 的文件'
rmdirdir1 删除一个叫做 'dir1' 的目录'
rm -rfdir1 删除一个叫做 'dir1' 的目录并同时删除其内容
rm -rfdir1 dir2 同时删除两个目录及它们的内容
mv dir1new_dir 重命名/移动 一个目录
cp file1file2 复制一个文件
cp dir/*. 复制一个目录下的所有文件到当前工作目录
cp -a/tmp/dir1 . 复制一个目录到当前工作目录
cp -adir1 dir2 复制一个目录
ln -sfile1 lnk1 创建一个指向文件或目录的软链接
ln file1lnk1 创建一个指向文件或目录的物理链接
touch -t0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)
filefile1 outputs the mime type of the file as text
iconv -l 列出已知的编码
iconv -ffromEncoding -t toEncoding inputFile > outputFile creates a new from thegiven input file by assuming it is encoded in fromEncoding and converting it totoEncoding.
find .-maxdepth 1 -name *.jpg -print -exec convert "{}" -resize 80x60"thumbs/{}" \; batch resize files in the current directory and sendthem to a thumbnails directory (requires convert from Imagemagick)
文件搜索
find /-name file1 从 '/' 开始进入根文件系统搜索文件和目录
find /-user user1 搜索属于用户 'user1' 的文件和目录
find/home/user1 -name \*.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件
find/usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件
find/usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件
find /-name \*.rpm -exec chmod 755 '{}' \; 搜索以 '.rpm' 结尾的文件并定义其权限
find /-xdev -name \*.rpm 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备
locate\*.ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令
whereishalt 显示一个二进制文件、源码或man的位置
whichhalt 显示一个二进制文件或可执行文件的完整路径
挂载一个文件系统
mount/dev/hda2 /mnt/hda2 挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经存在
umount/dev/hda2 卸载一个叫做hda2的盘 - 先从挂载点 '/ mnt/hda2' 退出
fuser -km/mnt/hda2 当设备繁忙时强制卸载
umount -n/mnt/hda2 运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用
mount/dev/fd0 /mnt/floppy 挂载一个软盘
mount/dev/cdrom /mnt/cdrom 挂载一个cdrom或dvdrom
mount/dev/hdc /mnt/cdrecorder 挂载一个cdrw或dvdrom
mount/dev/hdb /mnt/cdrecorder 挂载一个cdrw或dvdrom
mount -oloop file.iso /mnt/cdrom 挂载一个文件或ISO镜像文件
mount -tvfat /dev/hda5 /mnt/hda5 挂载一个Windows FAT32文件系统
mount/dev/sda1 /mnt/usbdisk 挂载一个usb 捷盘或闪存设备
mount -tsmbfs -o username=user,password=pass //WinClient/share /mnt/share 挂载一个windows网络共享
磁盘空间
df -h 显示已经挂载的分区列表
ls -lSr|more 以尺寸大小排列文件和目录
du -shdir1 估算目录 'dir1' 已经使用的磁盘空间'
du -sk *| sort -rn 以容量大小为依据依次显示文件和目录的大小
rpm -q -a--qf '{SIZE}t%{NAME}n' | sort -k1,1n 以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)
dpkg-query-W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n 以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)
用户和群组
groupaddgroup_name 创建一个新用户组
groupdelgroup_name 删除一个用户组
groupmod-n new_group_name old_group_name 重命名一个用户组
useradd-c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 "admin" 用户组的用户
useradduser1 创建一个新用户
userdel-r user1 删除一个用户 ( '-r' 排除主目录)
usermod-c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性
passwd 修改口令
passwduser1 修改一个用户的口令 (只允许root执行)
chage -E2005-12-31 user1 设置用户口令的失效期限
pwck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户
grpck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的群组
newgrpgroup_name 登陆进一个新的群组以改变新创建文件的预设群组
文件的权限 - 使用 "+" 设置权限,使用 "-" 用于取消
ls -lh 显示权限
ls /tmp |pr -T5 -W$COLUMNS 将终端划分成5栏显示
chmodugo+rwx directory1 设置目录的所有人(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限
chmodgo-rwx directory1 删除群组(g)与其他人(o)对目录的读写执行权限
chownuser1 file1 改变一个文件的所有人属性
chown -Ruser1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性
chgrp group1file1 改变文件的群组
chownuser1:group1 file1 改变一个文件的所有人和群组属性
find /-perm -u+s 罗列一个系统中所有使用了SUID控制的文件
chmod u+s/bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限
chmod u-s/bin/file1 禁用一个二进制文件的 SUID位
chmod g+s/home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的
chmod g-s/home/public 禁用一个目录的 SGID 位
chmod o+t/home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件
chmod o-t/home/public 禁用一个目录的 STIKY 位
文件的特殊属性 - 使用 "+" 设置权限,使用 "-" 用于取消
chattr +afile1 只允许以追加方式读写文件
chattr +cfile1 允许这个文件能被内核自动压缩/解压
chattr +dfile1 在进行文件系统备份时,dump程序将忽略这个文件
chattr +ifile1 设置成不可变的文件,不能被删除、修改、重命名或者链接
chattr +sfile1 允许一个文件被安全地删除
chattr +Sfile1 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘
chattr +ufile1 若文件被删除,系统会允许你在以后恢复这个被删除的文件
lsattr 显示特殊的属性
打包和压缩文件
bunzip2file1.bz2 解压一个叫做 'file1.bz2'的文件
bzip2file1 压缩一个叫做 'file1' 的文件
gunzipfile1.gz 解压一个叫做 'file1.gz'的文件
gzipfile1 压缩一个叫做 'file1'的文件
gzip -9file1 最大程度压缩
rar afile1.rar test_file 创建一个叫做 'file1.rar' 的包
rar afile1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1'
rar xfile1.rar 解压rar包
unrar xfile1.rar 解压rar包
tar -cvfarchive.tar file1 创建一个非压缩的 tarball
tar -cvfarchive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件
tar -tfarchive.tar 显示一个包中的内容
tar -xvfarchive.tar 释放一个包
tar -xvfarchive.tar -C /tmp 将压缩包释放到 /tmp目录下
tar -cvfjarchive.tar.bz2 dir1 创建一个bzip2格式的压缩包
tar -xvfjarchive.tar.bz2 解压一个bzip2格式的压缩包
tar -cvfzarchive.tar.gz dir1 创建一个gzip格式的压缩包
tar -xvfzarchive.tar.gz 解压一个gzip格式的压缩包
zipfile1.zip file1 创建一个zip格式的压缩包
zip -rfile1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包
unzipfile1.zip 解压一个zip格式压缩包
RPM 包 - (Fedora, Redhat及类似系统)
rpm -ivhpackage.rpm 安装一个rpm包
rpm -ivh--nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告
rpm -Upackage.rpm 更新一个rpm包但不改变其配置文件
rpm -Fpackage.rpm 更新一个确定已经安装的rpm包
rpm -epackage_name.rpm 删除一个rpm包
rpm -qa 显示系统中所有已经安装的rpm包
rpm -qa |grep httpd 显示所有名称中包含 "httpd" 字样的rpm包
rpm -qipackage_name 获取一个已安装包的特殊信息
rpm -qg"System Environment/Daemons" 显示一个组件的rpm包
rpm -qlpackage_name 显示一个已经安装的rpm包提供的文件列表
rpm -qcpackage_name 显示一个已经安装的rpm包提供的配置文件列表
rpm -qpackage_name --whatrequires 显示与一个rpm包存在依赖关系的列表
rpm -qpackage_name --whatprovides 显示一个rpm包所占的体积
rpm -qpackage_name --scripts 显示在安装/删除期间所执行的脚本l
rpm -qpackage_name --changelog 显示一个rpm包的修改历史
rpm -qf /etc/httpd/conf/httpd.conf确认所给的文件由哪个rpm包所提供
rpm -qppackage.rpm -l 显示由一个尚未安装的rpm包提供的文件列表
rpm--import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书
rpm--checksig package.rpm 确认一个rpm包的完整性
rpm -qagpg-pubkey 确认已安装的所有rpm包的完整性
rpm -Vpackage_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间
rpm -Va 检查系统中所有已安装的rpm包- 小心使用
rpm -Vppackage.rpm 确认一个rpm包还未安装
rpm2cpiopackage.rpm | cpio --extract --make-directories *bin* 从一个rpm包运行可执行文件
rpm -ivh/usr/src/redhat/RPMS/`arch`/package.rpm 从一个rpm源码安装一个构建好的包
rpmbuild--rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包
YUM 软件包升级器 - (Fedora, RedHat及类似系统)
yuminstall package_name 下载并安装一个rpm包
yumlocalinstall package_name.rpm 将安装一个rpm包,使用你自己的软件仓库为你解决所有依赖关系
yumupdate package_name.rpm 更新当前系统中所有安装的rpm包
yumupdate package_name 更新一个rpm包
yumremove package_name 删除一个rpm包
yum list 列出当前系统中安装的所有包
yumsearch package_name 在rpm仓库中搜寻软件包
yum cleanpackages 清理rpm缓存删除下载的包
yum cleanheaders 删除所有头文件
yum cleanall 删除所有缓存的包和头文件
DEB 包 (Debian, Ubuntu 以及类似系统)
dpkg -ipackage.deb 安装/更新一个 deb 包
dpkg -rpackage_name 从系统删除一个 deb 包
dpkg -l 显示系统中所有已经安装的 deb 包
dpkg -l |grep httpd 显示所有名称中包含 "httpd" 字样的deb包
dpkg -spackage_name 获得已经安装在系统中一个特殊包的信息
dpkg -Lpackage_name 显示系统中已经安装的一个deb包所提供的文件列表
dpkg--contents package.deb 显示尚未安装的一个包所提供的文件列表
dpkg -S/bin/ping 确认所给的文件由哪个deb包提供
APT 软件工具 (Debian, Ubuntu 以及类似系统)
apt-getinstall package_name 安装/更新一个 deb 包
apt-cdrominstall package_name 从光盘安装/更新一个 deb 包
apt-getupdate 升级列表中的软件包
apt-getupgrade 升级所有已安装的软件
apt-getremove package_name 从系统删除一个deb包
apt-getcheck 确认依赖的软件仓库正确
apt-getclean 从下载的软件包中清理缓存
apt-cachesearch searched-package 返回包含所要搜索字符串的软件包名称
查看文件内容
cat file1从第一个字节开始正向查看文件的内容
tac file1从最后一行开始反向查看一个文件的内容
morefile1 查看一个长文件的内容
lessfile1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作
head -2file1 查看一个文件的前两行
tail -2file1 查看一个文件的最后两行
tail -f/var/log/messages 实时查看被添加到一个文件中的内容
文本处理
cat file1file2 ... | command <> file1_in.txt_or_file1_out.txt general syntax fortext manipulation using PIPE, STDIN and STDOUT
cat file1| command( sed, grep, awk, grep, etc...) > result.txt 合并一个文件的详细说明文本,并将简介写入一个新文件中
cat file1| command( sed, grep, awk, grep, etc...) >> result.txt 合并一个文件的详细说明文本,并将简介写入一个已有的文件中
grep Aug/var/log/messages 在文件 '/var/log/messages'中查找关键词"Aug"
grep ^Aug/var/log/messages 在文件 '/var/log/messages'中查找以"Aug"开始的词汇
grep[0-9] /var/log/messages 选择 '/var/log/messages' 文件中所有包含数字的行
grep Aug-R /var/log/* 在目录 '/var/log' 及随后的目录中搜索字符串"Aug"
sed's/stringa1/stringa2/g' example.txt 将example.txt文件中的 "string1" 替换成 "string2"
sed'/^$/d' example.txt 从example.txt文件中删除所有空白行
sed '/*#/d; /^$/d' example.txt 从example.txt文件中删除所有注释和空白行
echo'esempio' | tr '[:lower:]' '[:upper:]' 合并上下单元格内容
sed -e'1d' result.txt 从文件example.txt 中排除第一行
sed -n'/stringa1/p' 查看只包含词汇 "string1"的行
sed -e's/ *$//' example.txt 删除每一行最后的空白字符
sed -e's/stringa1//g' example.txt 从文档中只删除词汇 "string1" 并保留剩余全部
sed -n'1,5p;5q' example.txt 查看从第一行到第5行内容
sed -n'5p;5q' example.txt 查看第5行
sed -e's/00*/0/g' example.txt 用单个零替换多个零
cat -nfile1 标示文件的行数
cat example.txt| awk 'NR%2==1' 删除example.txt文件中的所有偶数行
echo a bc | awk '{print $1}' 查看一行第一栏
echo a bc | awk '{print $1,$3}' 查看一行的第一和第三栏
pastefile1 file2 合并两个文件或两栏的内容
paste -d'+' file1 file2 合并两个文件或两栏的内容,中间用"+"区分
sortfile1 file2 排序两个文件的内容
sortfile1 file2 | uniq 取出两个文件的并集(重复的行只保留一份)
sortfile1 file2 | uniq -u 删除交集,留下其他的行
sortfile1 file2 | uniq -d 取出两个文件的交集(只留下同时存在于两个文件中的文件)
comm -1file1 file2 比较两个文件的内容只删除 'file1' 所包含的内容
comm -2file1 file2 比较两个文件的内容只删除 'file2' 所包含的内容
comm -3file1 file2 比较两个文件的内容只删除两个文件共有的部分
字符设置和文件格式转换
dos2unixfiledos.txt fileunix.txt 将一个文本文件的格式从MSDOS转换成UNIX
unix2dosfileunix.txt filedos.txt 将一个文本文件的格式从UNIX转换成MSDOS
recode..HTML < page.txt > page.html 将一个文本文件转换成html
recode -l| more 显示所有允许的转换格式
文件系统分析
badblocks-v /dev/hda1 检查磁盘hda1上的坏磁块
fsck/dev/hda1 修复/检查hda1磁盘上linux文件系统的完整性
fsck.ext2/dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性
e2fsck/dev/hda1 修复/检查hda1磁盘上ext2文件系统的完整性
e2fsck -j/dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性
fsck.ext3/dev/hda1 修复/检查hda1磁盘上ext3文件系统的完整性
fsck.vfat/dev/hda1 修复/检查hda1磁盘上fat文件系统的完整性
fsck.msdos/dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性
dosfsck/dev/hda1 修复/检查hda1磁盘上dos文件系统的完整性
初始化一个文件系统
mkfs/dev/hda1 在hda1分区创建一个文件系统
mke2fs/dev/hda1 在hda1分区创建一个linux ext2的文件系统
mke2fs -j/dev/hda1 在hda1分区创建一个linux ext3(日志型)的文件系统
mkfs -tvfat 32 -F /dev/hda1 创建一个 FAT32 文件系统
fdformat-n /dev/fd0 格式化一个软盘
mkswap/dev/hda3 创建一个swap文件系统
SWAP文件系统
mkswap/dev/hda3 创建一个swap文件系统
swapon/dev/hda3 启用一个新的swap文件系统
swapon/dev/hda2 /dev/hdb3 启用两个swap分区
备份
dump -0aj-f /tmp/home0.bak /home 制作一个 '/home' 目录的完整备份
dump -1aj-f /tmp/home0.bak /home 制作一个 '/home' 目录的交互式备份
restore-if /tmp/home0.bak 还原一个交互式备份
rsync-rogpav --delete /home /tmp 同步两边的目录
rsync-rogpav -e ssh --delete /home ip_address:/tmp 通过SSH通道rsync
rsync -az-e ssh --delete ip_addr:/home/public /home/local 通过ssh和压缩将一个远程目录同步到本地目录
rsync -az-e ssh --delete /home/local ip_addr:/home/public 通过ssh和压缩将本地目录同步到远程目录
dd bs=1Mif=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' 通过ssh在远程主机上执行一次备份本地磁盘的操作
ddif=/dev/sda of=/tmp/file1 备份磁盘内容到一个文件
tar -Pufbackup.tar /home/user 执行一次对 '/home/user' 目录的交互式备份操作
( cd/tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/&& tar x -p' 通过ssh在远程目录中复制一个目录内容
( tar c/home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' 通过ssh在远程目录中复制一个本地目录
tar cf -. | (cd /tmp/backup ; tar xf - ) 本地将一个目录复制到另一个地方,保留原有权限及链接
find/home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/--parents 从一个目录查找并复制所有以 '.txt' 结尾的文件到另一个目录
find/var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 查找所有以 '.log' 结尾的文件并做成一个bzip包
ddif=/dev/hda of=/dev/fd0 bs=512 count=1 做一个将 MBR (Master Boot Record)内容复制到软盘的动作
ddif=/dev/fd0 of=/dev/hda bs=512 count=1 从已经保存到软盘的备份中恢复MBR内容
光盘
cdrecord-v gracetime=2 dev=/dev/cdrom -eject blank=fast -force 清空一个可复写的光盘内容
mkisofs/dev/cdrom > cd.iso 在磁盘上创建一个光盘的iso镜像文件
mkisofs/dev/cdrom | gzip > cd_iso.gz 在磁盘上创建一个压缩了的光盘iso镜像文件
mkisofs-J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.isodata_cd 创建一个目录的iso镜像文件
cdrecord-v dev=/dev/cdrom cd.iso 刻录一个ISO镜像文件
gzip -dccd_iso.gz | cdrecord dev=/dev/cdrom - 刻录一个压缩了的ISO镜像文件
mount -oloop cd.iso /mnt/iso 挂载一个ISO镜像文件
cd-paranoia-B 从一个CD光盘转录音轨到 wav 文件中
cd-paranoia-- "-3" 从一个CD光盘转录音轨到 wav 文件中(参数-3)
cdrecord--scanbus 扫描总线以识别scsi通道
ddif=/dev/hdc | md5sum 校验一个设备的md5sum编码,例如一张 CD
网络 - (以太网和WIFI无线)
ifconfigeth0 显示一个以太网卡的配置
ifup eth0启用一个 'eth0' 网络设备
ifdowneth0 禁用一个 'eth0' 网络设备
ifconfigeth0 192.168.1.1 netmask 255.255.255.0 控制IP地址
ifconfigeth0 promisc 设置 'eth0' 成混杂模式以嗅探数据包 (sniffing)
dhclienteth0 以dhcp模式启用 'eth0'
route -nshow routing table
route add-net 0/0 gw IP_Gateway configura default gateway
route add-net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 configure static route toreach network '192.168.0.0/16'
route del0/0 gw IP_gateway remove static route
echo"1" > /proc/sys/net/ipv4/ip_forward activate ip routing
hostnameshow hostname of system
hostwww.example.com lookup hostname to resolve name to ip address and viceversa(1)
nslookupwww.example.com lookup hostname to resolve name to ip address and viceversa(2)
ip linkshow show link status of all interfaces
mii-tooleth0 show link status of 'eth0'
ethtooleth0 show statistics of network card 'eth0'
netstat -tupshow all active network connections and their PID
netstat-tupl show all network services listening on the system and their PID
tcpdumptcp port 80 show all HTTP traffic
iwlistscan show wireless networks
iwconfigeth1 show configuration of a wireless network card
hostnameshow hostname
hostwww.example.com lookup hostname to resolve name to ip address and viceversa
nslookupwww.example.com lookup hostname to resolve name to ip address and viceversa
whoiswww.example.com lookup on Whois database
GO TOP INDEX ^
MicrosoftWindows networks (SAMBA)
nbtscanip_addr netbios name resolution
nmblookup-A ip_addr netbios name resolution
smbclient-L ip_addr/hostname show remote shares of a windows host
smbget-Rr smb://ip_addr/share like wget can download files from a host windows viasmb
mount -tsmbfs -o username=user,password=pass //WinClient/share /mnt/share mount awindows network share
主要参考:
https://blog.csdn.net/msdnwolaile/article/details/52636370
http://www.cnblogs.com/fnlingnzb-learner/p/5831284.html
