Rubyの魔神 このページをアンテナに追加 RSSフィード

   「Ruby」は宝石の魔神のイメージ(The Jinn of the Ruby)
[DMY] [VB] [VB6] [Python] [C#] [Android] [電子工作] [個人メモ] [仕事メモ] [アイデア] [TstLink] [CE] [LTSA]
[自動化] [Qt] [OCaml] [3Dプリンタ] [TOOLS] [RAA] [Forge]
  [機能別索引] [逆引きRuby] [マニュアル] [るびま] [標準ライブラリ] [るりまサーチ] [Try! Ruby] [PRaggerまとめ] [ピジョン・ブラッド]
   [Rubyコーディング規約] [プログラミングのオキテ] [Rubyist SNS] [TOOLBIS]
   [RubyネットワークProg] [druby] [コードなにがし] [RDocテンプレ] [Ruby/Tkサンプル]
   [WAVE] [Xperia] [github] [twitterなど] [EA] [マクロ]

2008-06-26

お勧めツール 自分メモ

11:39 | お勧めツール 自分メモ - Rubyの魔神 を含むブックマーク はてなブックマーク - お勧めツール 自分メモ - Rubyの魔神 お勧めツール 自分メモ - Rubyの魔神 のブックマークコメント

後々使うためにメモ

ファイル管理

FenrirFS

http://www.vector.co.jp/soft/dl/winnt/util/se480090.html

ファイルにタグつけしてデーターベースで管理できる。便利

仮想COM

紹介

http://rltm9940.blogspot.com/2008/06/com0com.html

サイト

http://com0com.sourceforge.net/

DL

http://sourceforge.net/projects/com0com/files/

状態遷移表コンパイラ

http://homepage3.nifty.com/~masumoto/embedded/sttc/index.html

C言語用

Free Serial Port Monitor

http://www.serial-port-monitor.com/index.html

フリーでcomポートのモニタをしてくれる。便利

SourceMonitor

http://www.campwoodsw.com/sourcemonitor.html

フリーで以下の言語のソースのソフトウェアの複雑度(McCabeのサイクロマチック数)を測定

C++, C, C#, VB.NET, Java, Delphi, Visual Basic (VB6) or HTML

http://www.linkclub.or.jp/~tumibito/soft-an/metrics/mccabe.html

> 1. 10 以下であればよい構造

> 2. 30 を越える場合,構造に疑問

> 3. 50 を越える場合,テストが不可能

> 4. 75 を越える場合,いかなる変更も誤修正を生む原因を作る


Stirling

http://www.vector.co.jp/soft/win95/util/se079072.html

フリーのバイナリエディタ。複数ファイル比較時、Bzより強力

DF

http://www.vector.co.jp/soft/win95/util/se113286.html

定番のファイル比較ツール

BASP21

http://www.hi-ho.ne.jp/babaq/basp21.html

VB,VBA,WSH,ASPでメールの送受が使えるようになる

Firefox

定番ブラウザ

HaseDir

http://www.vector.co.jp/soft/win95/util/se106478.html

フォルダ毎のサイズをグラフ表示。ファイル整理に便利。

秀丸

定番エディタ

IdeaFragment2

http://triplei.hp.infoseek.co.jp/tool/etidea.html

KJ法ツール

LTSA

http://www.doc.ic.ac.uk/ltsa/

モデル検証ツール

ruby

http://www.geocities.co.jp/SiliconValley-PaloAlto/9251/ruby/

WIndowsならActiveScriptRubyがお勧め

rubyexe化するexerbGUIが使えるvrubyが標準で入ってる

ヘッダーとライブラリは無いので、拡張ライブラリをVC++でコンパイルする時は

「ヘッダとライブラリ(1.8.6以前)」の下のリンクからダウンロードすること

RDE

http://homepage2.nifty.com/sakazuki/rde/

RubyGUI開発環境

FormDesigner

http://sourceforge.jp/projects/fdvr/

http://vruby.wiki.sourceforge.net/FormDesigner

http://vruby.sourceforge.net/cgi-bin/wiki.cgi?FormDesigner

VisualuRuby計画のGUIビルダ

ruby help

http://www.ruby-lang.org/ja/man/html/_A5DEA5CBA5E5A5A2A5EBA5C0A5A6A5F3A5EDA1BCA5C9.html

公式サイトは良く落ちるので。windows help形式が便利

SWI prolog

http://www.swi-prolog.org/

現在勉強中

TClock

http://www.vector.co.jp/soft/win95/personal/se050000.html

タスクバーの時計に日付と曜日表示。便利

Tera Term

http://www.forest.impress.co.jp/lib/inet/servernt/remote/utf8teraterm.html

RS232C,telnet,sshと色々使うので必須ツール。マクロも便利

Thunderbird

定番メーラー

unix like tool

http://www.vector.co.jp/soft/win95/util/se010511.html

DOSで動くunix toolcygwinと違いDOS上で動く

widgets

http://widgets.yahoo.co.jp/

yahooカレンダーと同期して便利

winCVS

http://www.interq.or.jp/japan/s-imai/tcltk/wincvs.html

CVSクライアント

UWSC

http://www.uwsc.info/

マクロや自動記録でWindowsを自動操作

スタートアップチェッカー

http://www.vector.co.jp/soft/dl/winnt/util/se302214.html

http://www.vector.co.jp/soft/win95/util/se302214.html

スタートアップの整理、監視

bigvoice

http://homepage1.nifty.com/RYOU/Bigvoice.htm

花文字を書くツール

freemind

http://www.freemind-club.com/download.htm

マインドマップを書くツール

FFFTP

http://www.google.co.jp/search?q=FFFTP&sourceid=navclient-ff&ie=UTF-8&rlz=1B3GGGL_jaJP260JP260

FTPクライアント

XAMPP

http://www.apachefriends.org/jp/xampp-windows.html

LAMP環境(Apache,PHP,MySQL)を一括インストール

Lhaca デラックス版

http://www.vector.co.jp/soft/win95/util/se166893.html

解凍ソフト 大抵のフォーマットに対応

Jude

http://jude-users.com/ja/

フリーのUMLツール(コミュニティ版)

アタッシェケース

http://homepage2.nifty.com/hibara/software/atcs.htm

フリーの暗号化ツール。強力。自己解凍版も作成可能

cygwin

http://www.cygwin.com/

Unix互換

SRATS

http://www.rel.hiroshima-u.ac.jp/~okamu/SRATS/

Excel 上でバグデータからソフトウェア信頼度を測るツール.

フリーのワクチンソフト AVG

http://www.avg.com/jp.1

フリーの回路図エディタBSch3V

http://www.suigyodo.com/online/schsoft.htm

フリーの基板設計 CAD kban

http://h8300-hms.sourceforge.net/kazu/kban/index-j.shtml

http://www.vector.co.jp/soft/win95/business/se033976.html

フリーの回路シミュレーターLTSpice

http://www.geocities.jp/ltspice_swcadiii/

画面キャプチャー

http://www.forest.impress.co.jp/lib/pic/piccam/picedit/easycapture.html

仕様書つくりに必要

USB停止ツール

http://homepage3.nifty.com/yamakox/UnplugDrivePortable/index.html

PDFWORDに変換するツール

http://convertdoc.add-soft.jp/download/

試用版 100回まで使用可能

EXCELを比較

HiWinDiff

http://www.vector.co.jp/soft/winnt/util/se457316.html

バックアップツール realsync

http://www.takenet.or.jp/~ryuuji/realsync/

PDF作成

PrimoPDF

http://www.primopdf.com/index.aspx

jenny

18:22 | jenny - Rubyの魔神 を含むブックマーク はてなブックマーク - jenny - Rubyの魔神 jenny - Rubyの魔神 のブックマークコメント

AllPairs法ツールより便利なツールらしいよ

http://www.radiumsoftware.com/0407.html

しかし,実際には12個すべての要素が関連する複合的なバグが存在する可能性は非常に低く,多くの場合においては,バグはたった1つの要素か,あるいは2つの要素か,多くても3つ程度の要素が関連することによって発生すると考えることができる。そのような前提が成立する場合に,「徹底的なテスト」を行うのは非効率的だ。

例えば,「12個あるフラグのうち,任意の2つのフラグに関してすべての組合せをカバーしているようなテストケース群」を求めた場合,その個数は4096個よりもずっと少なくなるはずだ。 jenny は,このような条件を満たすパターンを自動生成してくれるツールだ。

HandyOscillo

PCのマイク入力を使って音声信号の波形を測定できる。

http://www.vector.co.jp/soft/win95/art/se376225.html

WaveGene

多機能 高精度 テスト信号発生ソフト

PCのスピーカー出力から正弦波、三角波などを出力できます。

http://www.ne.jp/asahi/fa/efu/soft/wg/wg.html

トラックバック - http://ruby.g.hatena.ne.jp/garyo/20080626

2008-06-25

LTSAのモデルからprologのプログラムに変換するスクリプト

07:03 | LTSAのモデルからprologのプログラムに変換するスクリプト - Rubyの魔神 を含むブックマーク はてなブックマーク - LTSAのモデルからprologのプログラムに変換するスクリプト - Rubyの魔神 LTSAのモデルからprologのプログラムに変換するスクリプト - Rubyの魔神 のブックマークコメント

LTSAのモデルからprologのプログラムに変換するスクリプト

FrontPage - PukiWiki

モデル検査ツールのLTSAから出力したファイルをawkprologのプログラムに自動生成し、状態遷移の解析をするスクリプト。すごいです。組み込み系やWEB系で状態遷移テストやモデル検査に興味のある方にお勧めです。

使い方などはこちら

LTSAのモデルからprologのプログラムに変換するスクリプト使用方法

状態遷移テストのnスイッチを計算するExcelマクロ stateMatrix

07:08 | 状態遷移テストのnスイッチを計算するExcelマクロ stateMatrix - Rubyの魔神 を含むブックマーク はてなブックマーク - 状態遷移テストのnスイッチを計算するExcelマクロ stateMatrix - Rubyの魔神 状態遷移テストのnスイッチを計算するExcelマクロ stateMatrix - Rubyの魔神 のブックマークコメント

表1

  遷移後 
 OFF消灯点灯
OFF_P_
消灯P_S
点灯PS_

例えばこのような状態遷移図を考えてみる。Pは電源スイッチを押す、Sは電灯のスイッチを押すことと考える。

例 OFF-(P)→消灯、消灯-(S)→点灯、点灯-(S)→消灯、・・・

この状態遷移を行列と見なすと

_P_
P_S
PS_

2乗したものは

表2

  遷移後 
 OFF消灯点灯
OFFPP_PS
消灯SPPP+SS_
点灯SPPPSS

となる

例えば、遷移前のOFFの横にあるPP

OFF-(P)→消灯、消灯-(P)→OFF

消灯の横にあるSP

消灯-(S)→点灯、点灯-(P)→OFF

となる

PP+SSというのはPPという遷移とSSという遷移があることを意味し

対角位置は元の状態に戻るループを表す

そして表1の

OFF-(P)→消灯、消灯-(P)→OFF、消灯-(S)→点灯、点灯-(P)→OFF、点灯-(S)→消灯

の全てをテストすれば「0スイッチカバレッジ」が100%になります。

うまく一筆書きで書くと効率良くテストできます。

また表2の

OFF-(PP)→OFF、OFF-(PS)→点灯、

消灯-(SP)→OFF、消灯-(PP)→消灯、消灯-(SS)→消灯

点灯-(SP)→OFF、点灯-(PP)→消灯、点灯-(SS)→点灯

この全部を確認すると「1スイッチカバレッジ」が100%になります。

この状態遷移の行列の階乗を計算するExcelマクロ「stateMatrix」を作ってみました。

stateMatrix ←ダウンロード先

参考

「グラフ行列法を使って テスト・パターンを絞り込む」

http://www.cqpub.co.jp/DWM/contents/0082/dwm008200430.pdf

状態遷移テストは以下の書籍で紹介されているそうです。

ソフトウェアテスト実践ワークブック

レックス・ブラック (著), 成田 光彰 (翻訳)

http://www.amazon.co.jp/dp/4822283046/

ソフトウェアテスト技法

ボーリス バイザー (著), Boris Beizer (原著), 小野間 彰 (翻訳), 山浦 恒央 (翻訳)

http://www.amazon.co.jp/dp/4822710017

実践的プログラムテスト入門

ボーリス バイザー (著), Boris Beizer (原著), 小野間 彰 (翻訳), 石原 成夫 (翻訳), 山浦 恒央 (翻訳)

http://www.amazon.co.jp/dp/4822280179/

トラックバック - http://ruby.g.hatena.ne.jp/garyo/20080625

2008-06-22

FizzBuzz問題を書いてみよう

23:05 | FizzBuzz問題を書いてみよう - Rubyの魔神 を含むブックマーク はてなブックマーク - FizzBuzz問題を書いてみよう - Rubyの魔神 FizzBuzz問題を書いてみよう - Rubyの魔神 のブックマークコメント

FizzBuzz問題 

このゲームをコンピュータ画面に表示させるプログラムとして作成させることで、コードがかけないプログラマ志願者を見分ける手法を Jeff Atwood が FizzBuzz問題 (FizzBuzz Question)として提唱した。その提唱はインターネットの様々な場所で議論の対象になっている。

また、実際に「制限時間2分以内」「剰余(%記号等)を用いない」「1行でできる限り短く(ワンライナー)」等の縛りでゲーム条件を満たすコード記述の腕試しをする者が続出した。

Fizz Buzz - Wikipedia

縛りがあるとは知らなかったので、縛りありで書いてみます。

n=100;n.times{|j|i = j +1; print i; print " Fizz" if i/3*3 == i;print " Buzz" if i/5*5==i;print "\n";}

Fiss,Bussの時に数字を出さないように変更

for i in 1..100;s="";s="Fizz "if i/3*3 == i;s=s+"Buss " if i/5*5 == i;s=i.to_s if s=="";puts s;end

tiny_prolog

| 00:29 | tiny_prolog - Rubyの魔神 を含むブックマーク はてなブックマーク - tiny_prolog - Rubyの魔神 tiny_prolog - Rubyの魔神 のブックマークコメント

http://codezine.jp/a/article/aid/461.aspx?p=1

Rubyによるprologの実装で、最初の一歩

SWI-prolog

 like( taro, coffee ).

3 ?- like(taro,X).
X = coffee

これをやってみます。

taroはcoffeeが好き

から

taroが好きなのは何か?と聞きます。

require 'tiny_prolog'

like = pred 'like'

like[:taro,:coffee].si

resolve like[:taro,:X] do |env|
  puts env[:X].inspect
end

実行結果

:coffee


listから最初を取り出すfirst,残りを取り出すrest、最初に追加のadd_to_list

SWI-prologでこんな感じ。

first( [X | Y], X ).

rest( [X | Y], Y).

add_to_list( X, L, [X | L] ).

require 'tiny_prolog'

first = pred 'first'
rest = pred 'rest'
add_to_list = pred 'add_to_list'

first[cons(:A, :X),:A].si
rest[cons(:A, :X),:X].si
add_to_list[:X,:L,cons(:X,:L)].si


t = first[list(1,2,3),:X]
resolve t do |env|
  print env[t].inspect,"\n"
end
t = rest[list(1,2,3),:X]
resolve t do |env|
  print env[t].inspect,"\n"
end

t = add_to_list[4,list(1,2,3),:X]
resolve t do |env|
  print env[t].inspect,"\n"
end

結果

first[(1 2 3), 1]
rest[(1 2 3), (2 3)]
add_to_list[4, (1 2 3), (4 1 2 3)]
トラックバック - http://ruby.g.hatena.ne.jp/garyo/20080622

2008-06-19

watirインストール

07:56 | watirインストール - Rubyの魔神 を含むブックマーク はてなブックマーク - watirインストール - Rubyの魔神 watirインストール - Rubyの魔神 のブックマークコメント

gem install watir

でインストールできます。

watir例

14:06 | watir例 - Rubyの魔神 を含むブックマーク はてなブックマーク - watir例 - Rubyの魔神 watir例 - Rubyの魔神 のブックマークコメント

require "rubygems"
require "watir"


url="http://google.com"


ie = Watir::IE.new

ie.goto url

ie.text_field(:name,"q").set "TestLink"
ie.button(:name,"btnG").click                                                          

puts ie.text

yahoo

15:07 | yahoo - Rubyの魔神 を含むブックマーク はてなブックマーク - yahoo - Rubyの魔神 yahoo - Rubyの魔神 のブックマークコメント

require "rubygems"
require "watir"

url="http://www.yahoo.co.jp"

ie = Watir::IE.new

ie.goto url

ie.text_field(:name,"p").set "TestLink"
ie.button(:id,"srchbtn").click                                                          

puts ie.text

Internet Explorer Developer Toolbarの「Select Element by click」を使うとidnameがわかり便利

トラックバック - http://ruby.g.hatena.ne.jp/garyo/20080619

2008-06-14

Watirが気になる

10:29 | Watirが気になる - Rubyの魔神 を含むブックマーク はてなブックマーク - Watirが気になる - Rubyの魔神 Watirが気になる - Rubyの魔神 のブックマークコメント

Tools Survey Results

Open Source Testing Survey

こちらのテスト関連ツール人気投票で3位のWatirRubyIEを操作するツールだけど、そんなに人気があるとは知りませんでした。ちょっと興味がわきました。

トラックバック - http://ruby.g.hatena.ne.jp/garyo/20080614