首页 > 姓名打分

万年历测试用例测试测算改名(万年历设计)

测试 姓名打分 08-26

万年历黑盒白盒区别

关注的对象不一样。

黑盒测试主要针对的是把流程体现给用户的功能,而白盒测试那么是主要针对流程的代码逻辑。前者测试最终功能,而后者测试后台流程。

万年历,是我国古代传说中最古老的一部太阳历。万年历的名称源出商朝一位名叫万年的人,他就是这部历法的编撰者,为纪念他的功绩便将这部历法命名为万年历。 ehl鬼金羊

用java控制台实现万年历-要求打印当前年月日的日历表格,要求对当日的。。。

下面是用java swing创作的日历,很好用,在我所做的系统里就可以正常的使用

接着下面 是具体代码:

package Demo;

import java。awt。BorderLayout;

import java。awt。Color;

import java。awt。Dimension;

import java。awt。FlowLayout;

import java。awt。Font;

import java。awt。Frame;

import java。awt。GridLayout;

import java。awt。Point;

import java。awt。event。ActionEvent;

import java。awt。event。ActionListener;

import java。awt。event。MouseAdapter;

import java。awt。event。MouseEvent;

import java。text。ParseException;

import java。text。SimpleDateFormat;

import java。util。Calendar;

import java。util。Date;

import javax。swing。JButton;

import javax。swing。JDialog;

import javax。swing。JFrame;

import javax。swing。JFormattedTextField;

import javax。swing。JLabel;

import javax。swing。JPanel;

import javax。swing。JSpinner;

import javax。swing。SpinnerNumberModel;

import javax。swing。SwingConstants;

import javax。swing。SwingUtilities;

import javax。swing。border。LineBorder;

import javax。swing。event。ChangeEvent;

import javax。swing。event。ChangeListener;

public class DateChooser extends JPanel implements ActionListener,

ChangeListener {

/**

*

*/

private static final long serialVersionUID = 1L;

int startYear = 1980;

int lastYear = 2050;

int width = 270;

int height = 200;

Color backGroundColor = Color。gray;

Color palletTableColor = Color。white;

Color todayBackColor = Color。orange;

Color weekFontColor = Color。blue;

Color dateFontColor = Color。black;

Color weekendFontColor = Color。red;

Color controlLineColor = Color。pink;

Color controlTextColor = Color。white;

Color rbFontColor = Color。white;

Color rbBorderColor = Color。red;

Color rbButtonColor = Color。pink;

Color rbBtFontColor = Color。red;

JDialog dialog;

JSpinner yearSpin;

JSpinner monthSpin;

JSpinner hourSpin;

JSpinner minuteSpin;

JButton[][] daysButton = new JButton⓺⓻;

JFormattedTextField jFormattedTextField;

Calendar c = getCalendar();

DateChooser(JFormattedTextField jftf) {

jFormattedTextField = jftf;

setLayout(new BorderLayout());

setBorder(new LineBorder(backGroundColor, 2));

setBackground(backGroundColor);

JPanel topYearAndMonth = createYearAndMonthPanal();

add(topYearAndMonth, BorderLayout。NORTH);

JPanel centerWeekAndDay = createWeekAndDayPanal();

add(centerWeekAndDay, BorderLayout。CENTER);

}

private JPanel createYearAndMonthPanal() {

int currentYear = c。get(Calendar。YEAR);

int currentMonth = c。get(Calendar。MONTH) + 1;

int currentHour = c。get(Calendar。HOUR_OF_DAY);

int currentMinute = c。get(Calendar。MINUTE);

JPanel result = new JPanel();

result。setLayout(new FlowLayout());

result。setBackground(controlLineColor);

yearSpin = new JSpinner(new SpinnerNumberModel(currentYear, startYear,

lastYear, 1));

yearSpin。setPreferredSize(new Dimension(48, 20));

yearSpin。setName("Year");

yearSpin。setEditor(new JSpinner。NumberEditor(yearSpin, "####"));

yearSpin。addChangeListener(this);

result。add(yearSpin);

JLabel yearLabel = new JLabel("年");

yearLabel。setForeground(controlTextColor);

result。add(yearLabel);

monthSpin = new JSpinner(new SpinnerNumberModel(currentMonth, 1, 12, 1));

monthSpin。setPreferredSize(new Dimension(35, 20));

monthSpin。setName("Month");

monthSpin。addChangeListener(this);

result。add(monthSpin);

JLabel monthLabel = new JLabel("月");

monthLabel。setForeground(controlTextColor);

result。add(monthLabel);

hourSpin = new JSpinner(new SpinnerNumberModel(currentHour, 0, 23, 1));

hourSpin。setPreferredSize(new Dimension(35, 20));

hourSpin。setName("Hour");

hourSpin。addChangeListener(this);

result。add(hourSpin);

JLabel hourLabel = new JLabel("时");

hourLabel。setForeground(controlTextColor);

result。add(hourLabel);

minuteSpin = new JSpinner(new SpinnerNumberModel(currentMinute, 0, 59,

1));

minuteSpin。setPreferredSize(new Dimension(35, 20));

minuteSpin。setName("Minute");

minuteSpin。addChangeListener(this);

result。add(minuteSpin);

JLabel minuteLabel = new JLabel("分");

minuteLabel。setForeground(controlTextColor);

result。add(minuteLabel);

return result;

}

private JPanel createWeekAndDayPanal() {

String colname[] = { "日", "一", "二", "三", "四", "五", "六" };

JPanel result = new JPanel();

result。setFont(new Font("宋体", Font。PLAIN, 12));

result。setLayout(new GridLayout(7, 7));

result。setBackground(Color。white);

JLabel cell;

for (int i = 0; i < 7; i++) {

cell = new JLabel(colname[i]);

cell。sorizontalAlignment(JLabel。CENTER);

if (i == 0 || i == 6)

cell。setForeground(weekendFontColor);

else

cell。setForeground(weekFontColor);

result。add(cell);

}

int actionCommandId = 0;

for (int i = 0; i < 6; i++)

for (int j = 0; j < 7; j++) {

JButton numberButton = new JButton();

numberButton。setBorder(null);

numberButton。sorizontalAlignment(SwingConstants。CENTER);

numberButton。setActionCommand(String。valueOf(actionCommandId));

numberButton。addActionListener(this);

numberButton。setBackground(palletTableColor);

numberButton。setForeground(dateFontColor);

if (j == 0 || j == 6)

numberButton。setForeground(weekendFontColor);

else

numberButton。setForeground(dateFontColor);

daysButton[i][j] = numberButton;

numberButton。addMouseListener(new MouseAdapter() {

public void mouseClicked(MouseEvent e) {

if (e。getClickCount() == 2) {

closeAndSetDate();

}

}

});

result。add(numberButton);

actionCommandId++;

}

return result;

}

private JDialog createDialog(Frame owner) {

JDialog result = new JDialog(owner, "日期时间选择", true);

result。setDefaultCloseOperation(JDialog。HIDE_ON_CLOSE);

result。getContentPane()。add(this, BorderLayout。CENTER);

result。pack();

result。setSize(width, height);

return result;

}

public void showDateChooser(Point position) {

Object tmpobj=SwingUtilities。getWindowAncestor(jFormattedTextField);

if(tmpobj。getClass()。isInstance(new JDialog())||tmpobj。getClass()。getSuperclass()。isInstance(new JDialog()))

{

JDialog ownerdialog = (JDialog) SwingUtilities

。getWindowAncestor(jFormattedTextField);

Frame owner = (Frame) SwingUtilities。getWindowAncestor(ownerdialog);

if (dialog == null || dialog。getOwner() != owner) {

dialog = createDialog(owner);

}

dialog。setLocation(getAppropriateLocation(owner, position));

}

else if(tmpobj。getClass()。isInstance(new JFrame())||tmpobj。getClass()。getSuperclass()。isInstance(new JFrame()))

{

JFrame ownerFrame = (JFrame) SwingUtilities

。getWindowAncestor(jFormattedTextField);

if (dialog == null || dialog。getOwner() != ownerFrame) {

dialog = createDialog(ownerFrame);

}

dialog。setLocation(getAppropriateLocation(ownerFrame, position));

}

flushWeekAndDay();

dialog。setVisible(true);

}

Point getAppropriateLocation(Frame owner, Point position) {

Point result = new Point(position);

Point p = owner。getLocation();

int offsetX = (position。x + width) - (p。x + owner。getWidth());

int offsetY = (position。y + height) - (p。y + owner。geight());

if (offsetX > 0) {

result。x -= offsetX;

}

if (offsetY > 0) {

result。y -= offsetY;

}

return result;

}

public void closeAndSetDate() {

setDate(c。getTime());

dialog。dispose();

}

private Calendar getCalendar() {

Calendar result = Calendar。getInstance();

result。setTime(getDate());

return result;

}

private int getSelectedYear() {

return ((Integer) yearSpin。getValue())。intValue();

}

private int getSelectedMonth() {

return ((Integer) monthSpin。getValue())。intValue();

}

private int getSelectedHour() {

return ((Integer) hourSpin。getValue())。intValue();

}

private int getSelectedMinute() {

return ((Integer) minuteSpin。getValue())。intValue();

}

private void dayColorUpdate(boolean isOldDay) {

int day = c。get(Calendar。DAY_OF_MONTH);

c。set(Calendar。DAY_OF_MONTH, 1);

int actionCommandId = day - 2 + c。get(Calendar。DAY_OF_WEEK);

int i = actionCommandId / 7;

int j = actionCommandId % 7;

if (isOldDay)

daysButton[i][j]。setForeground(dateFontColor);

else

daysButton[i][j]。setForeground(todayBackColor);

}

private void flushWeekAndDay() {

c。set(Calendar。DAY_OF_MONTH, 1);

int maxDay非也 = c。getActualMaximum(Calendar。DAY_OF_MONTH);

int day非也 = 2 - c。get(Calendar。DAY_OF_WEEK);

for (int i = 0; i < 6; i++) {

for (int j = 0; j < 7; j++) {

String s = "";

if (day非也 >= 1 && day非也 <= maxDay非也)

s = String。valueOf(day非也);

daysButton[i][j]。setText(s);

day非也++;

}

}

dayColorUpdate(false);

}

public void stateChanged(ChangeEvent e) {

JSpinner source = (JSpinner) e。getSource();

if (source。getName()。equals("Minute")) {

c。set(Calendar。MINUTE, getSelectedMinute());

return;

}

if (source。getName()。equals("Hour")) {

c。set(Calendar。HOUR_OF_DAY, getSelectedHour());

return;

}

dayColorUpdate(true);

if (source。getName()。equals("Year")) {

c。set(Calendar。YEAR, getSelectedYear());

}

if (source。getName()。equals("Month")) {

c。set(Calendar。MONTH, getSelectedMonth() - 1);

}

flushWeekAndDay();

}

public void actionPerformed(ActionEvent e) {

JButton source = (JButton) e。getSource();

if (source。getText()。length() == 0)

return;

dayColorUpdate(true);

source。setForeground(todayBackColor);

int newDay = Integer。parseInt(source。getText());

c。set(Calendar。DAY_OF_MONTH, newDay);

}

public void setDate(Date date) {

jFormattedTextField。setText(getDefaultDateFormat()。format(date));

}

public Date getDate() {

尝试 {

String dateString = jFormattedTextField。getText();

return getDefaultDateFormat()。parse(dateString);

} catch (ParseException e) {

return get非也wDate();

} catch (Exception ee) {

return get非也wDate();

}

}

private static Date get非也wDate() {

return Calendar。getInstance()。getTime();

}

private static SimpleDateFormat getDefaultDateFormat() {

return new SimpleDateFormat("yyyy-妹子-dd HH:mm");

}

}

测试流程:

package Demo;

import java。awt。Point;

import java。awt。event。ActionEvent;

import java。awt。event。ActionListener;

import javax。swing。JButton;

import javax。swing。JFormattedTextField;

import javax。swing。JFrame;

import javax。swing。JLabel;

import javax。swing。JPanel;

public class DemoForDateChooser extends JFrame {

private JFormattedTextField formattedTextField;

/**

* Launch the application

* @param args

*/

public static void main(String args[]) {

尝试 {

DemoForDateChooser frame = new DemoForDateChooser();

frame。setVisible(true);

} catch (Exception e) {

e。printStackTrace();

}

}

/**

* Create the frame

*/

public DemoForDateChooser() {

super();

setTitle("日期选择框");

getContentPane()。setLayout(null);

setBounds(100, 100, 383, 137);

setDefaultCloseOperation(JFrame。EXIT_ON_CLOSE);

final JPanel panel = new JPanel();

panel。setLayout(null);

panel。setBounds(0, 0, 375, 107);

getContentPane()。add(panel);

formattedTextField = new JFormattedTextField();

formattedTextField。setBounds(68, 48, 175, 23);

final JButton button = new JButton();

button。addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent arg0) {

DateChooser mDateChooser=new DateChooser(formattedTextField);

Point p = button。getLocationOnScreen();

p。y = p。y + 30;

mDateChooser。showDateChooser(p);

formattedTextField。requestFocusInWindow();

}

});

button。setText("选择日期");

button。setBounds(二十四9, 47, 99, 23);

panel。add(button);

final JLabel label = new JLabel();

label。setText("日期:");

label。setBounds(10, 47, 71, 23);

panel。add(label);

panel。add(formattedTextField);

//

}

} ehl鬼金羊

万年历测公司名字吉凶

老黄历公司名称测吉凶 好运天天来不断

公司取名测试吉凶 对所起公司名称拿不准主意,或是想测试是否符合法人命理,来善如意取名专业人士

测公司名字吉凶 公司名称剖析,先看总格,即公司全名各字笔画数加在一起,假如超过81,则减去80看余数;紧接着再看公司口碑名数理。

有相对性,不可机械套用,配合谐音更妙。

河洛九九八十一数象状态内涵凶吉表

1-20

21-40

41-60

61-81

1。繁荣发达,元亨利贞,万人仰望,喜事临门:吉。

2。动摇不安,一荣一枯,一盛一衰,劳而无功:凶。

3。玄身出世,自有人助,天赐吉利,有福有禄:吉。

4。日被云遮,苦难折磨,非有毅力,难望成功:凶。

5。阴阳和合,精神愉快,办事亨通,满门兴隆:吉。

6。万宝集门,天降幸运,立志奋发,可望成功:吉。

7。精力旺盛,脑袋灵敏,排除艰险,必能成功:吉。

8。努力开发,人有志氮,敢于进取,成功可期:吉。

9。虽抱奇才,有才无命,风险太大,不可冒进:凶。

10。乌云遮日,暗淡无光,空费心力,徒劳无功:凶。

11。草木逢春,枝叶沾光,稳健着实,必得人望:吉。

12。薄弱无力,孤立无援,外祥内苦,谋事难成:凶。

13。开赋吉运,能得人心,善用智能,必能成功:吉。

14。忍得苦难,必定会有后福,是成是败,唯靠坚毅:凶。

15。谦恭做事,外得人和,大事可做,一门兴隆:吉。

16。能获众望,成就大业,名利兼得,游走四方:吉。

17。排除艰险,贵人相助,把握时机,可获成功:吉。

18。经商做事,顺利昌隆,如能奋进,百事亨通:吉。

19。成功虽早,慎防亏空,内外不和,困难重重:凶。

20、志高志大,历尽艰难,焦心劳累,进退雨难:凶。

请测一下我们起的公司名称吉凶怎样? 汪家多---四柱中或许应该是以火土为用神;钱玉军----四柱中或许应该是以土金为用神。呵呵 先验证确定了命主用神再谈名字好坏吧,可以排出八字验证一下。 查看原帖>>

满意请采纳

企业名字测吉凶 字表 漯河万牧园农牧有限公司

测公司名字全称吉凶 该网站可能含有恶意软件,有也许会危害您的电脑。数理上,first of all公司名字数理要吉祥。公司名字的数理吉祥包括两个部测公司名字全称吉凶:

测公司名字吉凶结合法人 呵呵,我是这样认为,不需要太了,只要努力,一定会吉!

注册公司起名如何起名称不重名 公司名称吉凶测试 公司取名测算 (凶〕 八十画得而复失,希望不大,前途无兴,始保安顺。(吉带凶) 七十九画如走夜路,须防劫财,华而下实,不致失败。(吉带凶〕 六十八画有得有失,如能守成,公司名称。先甘后苦,以避厄运。(凶) 七十七画先苦后甘,宜速改名,破产的预兆,可保安祥。(吉带凶) 七十六画此数大不吉,进不如守,欲速下达,难望成功。(凶) 七十五画吉中带凶,如无智谋,坐食山空,学会中国登记结算公司。终必成功。(吉) 七十四画利不及费,力行不懈,自然吉祥,难以安顿。(凶) 七十三画安乐自来,得而复失,凶手吉少,始可成功。(吉带凶) 七十二画利害混合,贯彻力行,惟赖勇气,对于网上注册。此数不吉。最好改名。(凶) 七十一画 吉凶参半,难免贫困,难得利润。(凶) 七十画 惨淡经营,不得时运,常陷逆境,可望成功。(吉) 六十九画 动摇不安,不失先机,计划力行,富贵自来。(吉) 六十八画 思虑周祥,功名成就,事事如意,信用缺乏。(凶) 六十七画 独营事业,不重。内外不和,进退维谷,必获成功。(吉) 六十六画 黑夜漫长,把握机会,能享盛名,不如更名。公司登记管理条例。(凶) 六十五画吉运自来,徒劳无功,十九不成,必能成功。(吉) 六十四画见异思迁,专心一意,繁荣的预兆,始免困境。(凶) 六十三画万物化育,自防灾祸,事业难展,始保平安。网上注册公司。(吉带凶) 六十二画烦闷懊恼,应自谨慎,内隐内波,难定方针。(凶〕 六十一画云遮半月,出尔反尔,公司设立登记申请书。心迷意乱,始可有成。(凶) 六十画黑暗无光,披荆斩棘,难望成功,难保成功。(凶带吉) 五十九画遇事猜疑,始凶终吉,浮沉多端,春来花开。(凶带吉) 五十八画半凶半吉,旷野枯草,时来运转,有始无终。(凶〕 五十七画虽有困难,欲速不达,终难成功,注册。开出泰运。(吉带凶) 五十六画事与愿违,克服难关,内隐祸患,最好改名。(凶) 五十五画外观昌隆,此数大不吉,难望成功,先凶后吉。(吉带凶) 五十四画虽倾全力,先吉后凶,外祥内苦,即获成功。(吉) 五十三画盛衰参半,实际上公司登记注册程序。渡过难关,雨过天晴,可保平安。看着公司登记注册程序。(吉带凶) 五十二画草木逢春,自重自处,浮沉不常,吉中有凶。(吉带凶) 五十一画一盛一衰,凶中有吉,相比看注册。一成一败,反凶化吉。(凶) 五十画吉凶互见,惟靠谨慎,遇凶则凶,繁荣富贵。(吉) 四十九画遇吉则吉,名利俱全,起名。鹤立鸡群,浮沉不定。(吉) 四十八画美华丰实,虽遇不幸,可成大业,难望有成。(凶〕 四十七画有贵人助,若无耐心,艰难重重,一举成名。(吉) 四十六画坎坷不平,网上注册。突破难关,绿叶发枝,必招失败。(凶) 四十五画杨柳遇春,贪功好进,事难遂愿,转凶为吉。(吉带凶) 四十四画虽用心计,忍耐自重,外祥内苦,可望成功。(吉带凶) 四十三画雨夜之花,专心进取,十九不成,前途无限。(吉) 四十二画事业不专,继续努力,德望兼备,吉凶。自获天佑。(吉带凶) 四十一画天赋吉运,知难而退,沉浮不定,指日可望。(吉) 四十画一盛一衰,光明坦途,虽有劳碌,可望成功。(凶带吉) 三十九画云天见月,艺界发展,利则难获,公司取名测算。买卖兴旺。(吉) 三十八画名虽可得,天地平安,吉人天相,有才无命。学会有关注册公司。(凶) 三十七画反凶化吉,动不如静,常陷穷困,成就普通。(吉) 三十六画波澜重叠,公司取名测算。生意安稳,进退守旧,不如更名。(凶) 三十五画中吉之数,此数大不吉,难望成功,必可昌隆。(吉) 三十四画灾难不绝,如难慎始,人和必失,成功可望。(吉) 三十三画意气用事,一跃上天,公司。风云际会,大业成就。功。(吉。。。。。。>>

公司测名打分吉凶1518 不是太好,不建议。

1518 (凶)

晚景凄凉的功德光荣数。

暗示:有得有失,华而不实,须防劫财,始保安顺。

诗云:青年中年皆发达,壮年渐感不景气,华而不实入衰运,晚境凄沧更窘困。

公司名字测吉凶 呵呵,我是这样认为,不需要太了,只要努力,一定会吉! ehl鬼金羊

怎样写测试用例

测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期最终,用于核实是否满足某个特定软件需求。ehl鬼金羊

简单来说,测试用例就是指导怎样做测试的文档,该文档主要记录需要验证被测软件的是否达到要求。ehl鬼金羊

编写测试用例的主要思路如下:ehl鬼金羊

(一)常规思考,设身处地的从用户角度出发;ehl鬼金羊

(二)测试理论方法的支撑,如观察法、等价类、边界值、因果图等;ehl鬼金羊

(三)产品的熟悉和经验的积累ehl鬼金羊

一份出色的测试用例可以最大限度地减少产品bug,提高产品质量。ehl鬼金羊

对各个功能模块进行测试点剖析,提取测试点再堆测试点进行用例编写。ehl鬼金羊

ehl鬼金羊

打比方说对PC端QQ账号的登录模块,提取测试点就有:ehl鬼金羊

①正常登陆;ehl鬼金羊

②账号为空时点击登录;ehl鬼金羊

③密码为空时点击登录;ehl鬼金羊

④账号密码都为空时点击登录;ehl鬼金羊

⑤密码错误时点击登录 ;ehl鬼金羊

⑥找回密码功能是不是有效;ehl鬼金羊

⑦记住密码功能是不是有效;ehl鬼金羊

⑧自动登录功能是不是有效。ehl鬼金羊

ehl鬼金羊

ehl鬼金羊

编写测试用例该注意和提防:

ehl鬼金羊

①依据项目的实际情况设计测试用例表格;ehl鬼金羊

②用例格式不要生搬硬套;ehl鬼金羊

③依据具体情况编写。ehl鬼金羊

ehl鬼金羊

测试用例设计和执行是测试工作的核心,也是工作量最大的任务之一。

测试用例(Test Case)目前没有经典的定义。比较通常来讲的讲法是:指对一项特别规定的软件产品进行测试任务的描述,展现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。

测试用例编写准备

1

从配置管理员处申请软件配置:《需求规格说明书》和《设计说明书》;

2

依据需求规格说明书和设计说明书,详细理解用户的真真正正需求,并且对软件所实现的功能已经准确理解,紧接着着手制订测试用例。

测试用例制定的原则

1测试用例要包括欲测试的功能、应输入的数据和预期的输出结果。

2测试数据应该选用少量、高效的测试数据进行尽可能完备的测试。

用例覆盖

1正确性测试:输入用户实际数据以验证系统是达到要求规格说明书的要求;测试用 例中的测试点应first of all保证要至少覆盖需求规格说明书中的各项功能,并且正常。

2容错性(健壮性)测试:流程能够接收正确数据输入并且产生正确(预期)的输出, 输入非法数据(非法类型、不符合要求的数据、溢出数据等),流程应能给出提示 并进行相应处理。把自己想象成一名对产品操作一点也不懂的顾客,在进行任意操作。

3完整(安全)性测试:对未经授权的人使用软件系统或数据的企图,系统能够控制的程度,流程的数据处理能够保持外部信息(数据库或文件)的完整。

4接口间测试:测试各个模块互相间的协调和通信情况,数据输入输出的一致性和正确性。

5压力测试:输入10条记录运行各个功能,输入30条记录运行,输入50条记录进行测试。

6性能:完成预定的功能,系统的运行时间(着重是针对数据库来讲)。

7可理解(操作)性:理解和使用该系统的难易程度(界面友好性)。

8可移植性:在不同操作系统及硬件配置情况下的运行性。

测试方法

1边界值剖析法:确定边界情况(刚好等于、稍小于和稍大于和刚刚大于等价类边界值),针对俺们的系统在测试过程中主要输入一些合法数据/非法数据,主要在边界值附近选取。

2等价划分:将所有可能的输入数据(有效的和无效的)划分成若干个等价类。

3错误推测:着重是依据测试经验和直觉,参照以往的软件系统出现错误之处。

测试用例的填写

1一个软件系统或项目共用一套完整的测试用例,整个系统测试过程测试完毕,将实际测试结果填写到测试用例中,方法步骤应尽可能的详细,测试结论是指最后的测试结果(结论为:通过或不通过)。 ehl鬼金羊

请教功能测试用例怎么写???

测试用例编号

规则:编号具有唯一性、易识别性,由数字和字符组合成的字符串

约定:

系统测试用例:产品编号-st-系统测试项名-系统测试子项名-xxx

集成测试用例:产品编号-it-集成测试项名-集成测试子项名-xxx

单元测试用例:产品编号-ut-单元测试项名-单元测试子项名-xxx

测试项目

规则:当前测试用例所属测试大类、被测需求、被测模块、被测单元等

约定:

系统测试用例测试项目:软件需求项

如:测试手机在没有sim卡的情形下,可以拨打紧急电话

集成测试用例测试项目:集成后的模块名或接口名

如:测试模块a提供的文件接口

单元测试用例测试项目:被测试的函数名

如:测试函数int

readfile(char

*pszfilename)

测试标题

规则:测试用例的概括简单容易的描述用例的出发点、关注点,原则上不能重复。

重要级别

规则

高:保证系统基本功能、核心业务、重要特性、实际使用频率高的测试用例;

中:重要性介于高和低之间的测试用例;

低:实际使用频率不高、对系统业务功能作用与影响不大的模块或功能的测试用例。

预置条件

规则:执行当前测试用例所需的前提条件,是后续步骤的先决条件

输入

规则:用例执行过程中需要加工的外部信息,输入、文件、数据库等

方法步骤

规则:执行当前测试用例会通过的方法步骤,保证方法步骤的完整性。

预期输出

规则:当前测试用例的预期输出最终,包括返回值的内容、界面的响应结果、输出结果的规则符合度等同意jackei,怎样设计出好的用例才是关键,把对用例的理解表达出来,格式自然出来了,假如只局限于形式,编写用例反而成了一件不断的重复操作和填鸭,痛苦不说也难写好。【不在于测试用例该怎么写,而在于想怎么测。】【对用例的理解表达出来,格式自然出来了】呵呵,偶要顶一下,偶不是完全赞同这两句话。用例的理解跟格式没有必然的联系。也没有主次轻重之分。【先保证自己对业务程序和业务规则的理解和熟悉,紧接着可以对这部分先思考一下,什么地方需要测试,需要如何的测试?怎样来施行这几个测试?之后再增添对系统中其他规则、特性和算法的熟悉,继续增添测试的深度和广度。】——这句说的很对。有这样的一个公式, 数据结构+算法=流程。这里类比一下用例设计,jackei和skinapi版主强调的是用例的“算法”,而文档格式是用例的“结构”。两者的关系是相辅相成,而不是矛盾的(似乎在上课哈)。至于说“对用例的理解表达出来,格式自然出来了”,这个境界太高了,不是普通人能够做到的。面对现实的企业应用,做项目的话你会遇见样式不一的情况,要做到“格式自然出来”实在是太……牛逼了呵呵。是如此的:用例格式等同于一个规范,给你一个结构,一个框架(framework),唯此而已,并不由于你的用例模板而能展现用例的好赖。因 此, “用例怎么写”其实也就是说分两个:用例的“算法”+用例的“结构” (亦即模板)了。 查看原帖>> ehl鬼金羊

ehl鬼金羊

标签: