你怎样测试一个类的方法运行时间快慢(提示:我写了一个时间类专门测试另一类的方法运行时间)

题目

你怎样测试一个类的方法运行时间快慢(提示:我写了一个时间类专门测试另一类的方

法运行时间)

参考答案和解析
正确答案:
 
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

请定义一个Time类,具体要求为:(1)每个Time类对象可以存储一个时间(包括时、分、秒);(2)具有设置当前时间的方法SetTime;(3)具有每次增加1秒的方法AddOneSec。


第2题:

________________________就是以测试项目为管理对象,通过一个临时性的专门的测试组织,运用专门的软件测试知识、技能、工具和方法,对测试项目进行计划、组织、执行和控制,并在时间成本、软件测试质量等方面进行分析和管理活动。


项目计划组织控制

第3题:

请定义一个Time类,具体要求为:(1)每个Time类对象可以存储一个时间(包括时、分、秒);具有设置当前时间的方法SetTime;(3)具有每次增加1秒的方法AddOneSec。


第4题:

设计一个时间类,其数据成员为hour(小时)、minute(分)和sec(秒),请补充类的成员函数定义,实现时间的加法与减法运算。 并使用测试代码测试该类,运行结果应该和输出样例完全相同


以下为一参考程序,非标答。#includeusing namespace std;class Clock//时钟类的声明{public://外部接口,公有成员函数void SetTime(int NewH=0, int NewM=0, int NewS=0);void ShowTime();private://私有数据成员int Hour,Minute,Second;};//时钟类成员函数的具体实现void Clock::SetTime(int NewH, int NewM, int NewS){Hour=NewH;Minute=NewM;Second=NewS;}inline void Clock::ShowTime(){cout}//主函数void main(){Clock myClock;//定义对象myClockcoutmyClock.SetTime();//设置时间为默认值myClock.ShowTime();//显示时间coutmyClock.SetTime(8,30,30);//设置时间为8:30:30myClock.ShowTime();//显示时间}

第5题:

2、设计一个时间类,其数据成员为hour(小时)、minute(分)和sec(秒),请补充类的成员函数定义,实现时间的加法与减法运算。 并使用测试代码测试该类,运行结果应该和输出样例完全相同


以下为一参考程序,非标答。#includeusing namespace std;class Clock//时钟类的声明{public://外部接口,公有成员函数void SetTime(int NewH=0, int NewM=0, int NewS=0);void ShowTime();private://私有数据成员int Hour,Minute,Second;};//时钟类成员函数的具体实现void Clock::SetTime(int NewH, int NewM, int NewS){Hour=NewH;Minute=NewM;Second=NewS;}inline void Clock::ShowTime(){cout}//主函数void main(){Clock myClock;//定义对象myClockcoutmyClock.SetTime();//设置时间为默认值myClock.ShowTime();//显示时间coutmyClock.SetTime(8,30,30);//设置时间为8:30:30myClock.ShowTime();//显示时间}

第6题:

这是一个时间测试,预设截止时间是22:30


B

第7题:

以下哪种测试属于面向对象程序集成测试考虑的范畴?______。

A.针对一个类的多个成员方法间协作的测试

B.针对一个成员方法的不同输入情况的测试

C.针对多个类的多个实例间协作的测试

D.针对一个类树上多个类间继承的测试


正确答案:C
解析:A、B、D都是面向对象中单元测试所考虑的范畴。集成策略需要关注如何充分测试类间的各种链接,C属于集成测试考虑的范畴。

第8题:

以下关于面向对象软件测试的说法中,正确的是______。

A.面向对象软件只能采用白盒测试,不能采用黑盒测试

B.测试一个类时,该类成员方法的任何一个消息序列都是合理的测试用例

C.若类B是类A的子类,针对类B的测试用例可以包含对类A的成员方法的调用

D.等价类划分是一种类树层次的测试技术


正确答案:C
解析:在面向对象中,进行系统测试时,通常不关心软件各个实体的实现细节和实体间的连接细节。因此,系统测试主要是黑盒测试,A说法不对。
  在面向对象测试中,成员方法对成员变量有或多或少的依赖,成员方法的许多功能需要在特定的实例状态下才能执行。因此,在测试面向对象软件时,不能够简单地对每个类的成员方法进行测试,在调用任何一个成员方法之前必须保证相应的实例处于该成员方法的预期工作状态。也就是说,为了测试一个成员方法,需要在调用该方法前调用一系列其他方法以使得相应的实例达到合适的状态。换句话说,由于每个测试用例不仅仅调用一个成员方法,而是对整个类进行测试的一个方法调用序列。因此,在设计类的测试用例时,仅仅考虑成员方法的输入参数是不够的,还要考虑如何设计调用序列。有些测试序列会在某些成员方法执行时因为不能满足该方法正常执行的前提条件而导致此方法处于不正常的工作状态,这些测试序列是不合理的测试序列,因此选项B说法不正确。
  因为类B继承类A,合理的使用继承时类B的实例应该也是类A的实例,对类B的实例的测试应该已经包括其作为类A例的测试,C说法正确。
  等价类划分是一种方法层次的测试,而不是类树层次的测试技术,D错误。

第9题:

以下关于面向对象软件测试的说法中,正确的是

A.对于一个类进行单元测试时,一个测试用例只能调用在该类中定义的方法,不能调用在该类的父类中定义的方法

B.对于一个类进行单元测试时,一个测试用例只能调用在该类的父类中定义的方法,不能调用在该类中定义的方法

C.对于一个类进行单元测试时,一个测试用例既可以调用在该类的父类中定义的方法,也可以调用在该类中定义的方法

D.对于一个类进行单元测试时,由该类及其父类中定义的方法组成的任何一个序列都是一个合理的测试用例


正确答案:C
解析:由于集成和多态的使用,对子类的测试通常不能限定在子类中定义的成员变量和成员方法上,还需要考虑父类对子类的影响。