TSIGについてまとめてみた(未整理)
TSIG って何
ゾーン転送における、スレイブサーバ側の、マスターサーバからのなりすまし防止のための仕組み。
スレーブ・サーバのゾーン転送とセキュリティ (3/3):実用 BIND 9で作るDNSサーバ(5) - @IT
http://www.tatsuyababa.com/NW-DNS/NW-200302-DNS07.pdf
https://jprs.jp/tech/material/rfc/RFC2845-ja.txt
TSIG(Transaction Signature)。
TSIGはサーバとクライアントで共通の秘密鍵を保有し、DNSメッセージ全体に署名を行うことでメッセージの完全性の保証やリクエスト認証を可能にします。
鍵生成コマンド
結構時間がかかる。中々結果が返らなくてもあせらない。
/usr/sbin/dnssec-keygen -a HMAC-MD5 -b 512 -n HOST example.com
# 結果 $ ll *key Kexample.com.+157+13212.key ( key の前の数字はランダム?) $ ll *private Kexample.com.+157+13212.private ( private の前の数字はランダム?)
bind への設定 (マスターサーバ・スレーブサーバ両方での設定)
生成された「Kexample.com.+157+*.key」ファイルを開くと以下のようになる。
cat Kexample.com.+157+13212.key example.com. IN KEY 512 3 157 jRRJA...(省略)
の 157 以降「jRRJA...(省略)」部分を /etc/bind/tsig-keys/example.com.key (bind:bind 600) で以下のように保存。
なお、本操作は root 権限での実施が望ましい。(というかじゃないと操作できなかったっぽい)
key example.com { algorithm hmac-md5; secret "jRRJA...(省略)"; };
bind への設定方法
http://www.tatsuyababa.com/NW-DNS/NW-200302-DNS07.pdf
に記載の通り。named.conf に以下のように記載する。
TSIG付きDNSダイナミックアップデートの設定(named.confファイル)
# 正引きゾーン sample zone "example.com" { type master; file "example.com.zone"; allow-update { key ddns.example.com.; }; }; # 逆引きゾーン sample zone "0.168.192.in-addr.arpa" { type master; file "0.168.192.in-addr.arpa.zone"; allow-update { key ddns.example.com.; }; }; # TSIG鍵の設定 sample key ddns.example.com. { algorithm hmac-md5; secret "iSUuKtizDJEK/9ptgewTHQ=="; };
セカンダリサーバにおけるゾーン転送の設定(named.confファイル)
// TSIGを使用するサーバの設定 server 192.168.0.10 { keys { axfr.example.com.; }; }; // TSIG鍵の設定 key axfr.example.com. { algorithm hmac-md5; secret "nAgPY1cTo8HJ/FXw1waaow=="; };
NAPTR レコードについて調べたページまとめ(未整理)
とりあえずURLリスト
お仕事で調べたり、これから使いそうな NAPTR に関する URL集。
あとで優先度順に並べるのと感想を書く。 途中でも公開。
RFC 類
- RFC3401 日本語訳 - [RFC/技術資料] ぺんたん info
- RFC 3402 - Dynamic Delegation Discovery System (DDDS) Part Two: The Algorithm
- http://pentan.info/doc/rfc/j3403.html
- RFC 3404 - Dynamic Delegation Discovery System (DDDS) Part Four: The Uniform Resource Identifiers (URI)
- https://www.ietf.org/rfc/rfc3263.txt
- ...入力の具体的な例が載ってて良き
その他
- 動的委任発見システム - Wikipedia
- www.atmarkit.co.jp
- これが一番わかりやすい気がする。
レコードはこんな感じらしい
Regexp が謎。
NAPTR * Label * zone apex のみ可
Order
- 16bit符号無し整数 (0-65535)
Preference
- 16bit符号無し整数 (0-65535)
Flags
Services
Replacement
- Regexp とは排他で、使用しないときは "." を指定
SRVレコードについて調べたページまとめ(未整理)
とりあえずURLリスト
お仕事で調べたり、これから使いそうな SRV に関する URL集。
あとで優先度順に並べるのと感想を書く。 途中でも公開。
RFC 類
RFC2782 サービスの場所を指定するDNS資源レコード(DNS SRV)
RFC2219 ネットワークサービスへのDNS別名の利用
RFC2052 日本語訳 - [RFC/技術資料] ぺんたん info 2052 よりは、2782 のほうがわかりやすそう?目的が違うのかしら?
その他
www.atmarkit.co.jp
www.atmarkit.co.jp
そもそもの発端。NAPTR を調べてたら、SRV の話が出てきたので調べ始めた。
レコードはこんな感じらしい
左辺 Service (アンスコ)始まり 大文字・小文字の区別が必要 Proto (アンスコ)始まり 大文字・小文字の区別が不要 Name 右辺 Priority 0-65535 Weight 0-65535 Port 0-65535 Target 参照先が CNAME は NG RData が外部 or 内部で A/AAAA を登録 を登録してないとだめ ホスト名ではなく「.」とした場合は、サービスが利用不可
WACATE 2019 夏 ~ テスト計画半端ないって ~
はじめに
注意:WACATE のテーマとタイトルが違うのは、私が一番大事だと思ったことをタイトルにしたからです。正確には「WACATE2019 夏 〜納期半端ないって!〜」です。
WACATE 翌日で、当日よりは落ち着いてるけどまだ当日分の加速装置が働いている状態で書いています。
今回の記事のメインターゲットは「私」。 正確には「未来の私」です。
なので、なんか違うなって思ったら関係リンク先にどうぞ!
関係リンク
BPPセッション
中村さんのセッション
www.slideshare.net
中野さんのセッション(BGMは矢野顕子)
www.slideshare.net
toggetter
WACATE のページ
WACAくないけど WACATE に行ってきました!夏
というわけで、予防線を張りつつ、感想です。
今回の WACATE のメインテーマは「納期半端ないって!」です。
まずは 2019年夏のWACATE について、ズバッとよかったこと、感銘を受けたこと、その他感想を箇条書きで並べます!
- 記事名の通り。テスト計画スゲー――――!!!!!
- 夜の分科会で、ブロッコリーさんと中村さんのお話を聞けてとても良かった(詳細は内密)
- 中野さんのセッションマジよかった。脳疲労と達成感で脱力しまくっている中でもちゃんと頭に入ってきたし、ワークをやったからこそ、より染み入った
- The 10 Minute Test Plan 私もまずは取り組んでみよう
- Rex Black スゲーーーーーー!
- テスト計画を作るよりも、合意形成、期待を合わせることが大事
- テスト計画はステークホルダーに意思表示すること、責務を知らせることが重要
- テスト計画の可能性をあきらめない(だったっけ…?)ということ。これ、テスト計画に限らずだなあと思った。どうせ使えない、じゃなくて、なぜ使えないのかを考えようと思う
- バグを見つけるためにはまず整理されていた方が効率的に見つけることができる
- チームマネジメントは難しいし、テスト方針を貫くことも難しい
- テスト設計、実装、実行のすべては、テスト計画、分析があってこそだなあと思った
当たり前じゃん、と思うことも多いかもしれないですが、改めて体感できてよかったと思うことと、そそそそそうだったのかーーーーー!と驚くこともありました。
きっと未来の私は「こんなの当たり前に実践できてるよ!」って見返したときに言うはず。
かように学ぶことは大量でした。
行く前の感想
現在の業務について、まずは説明しますね。これが前提になってくるので。
- テスト対象:法人向けのWebサービス
- テスト納期:基本は 2,3週間前後でテスト計画から出荷判定までを行う
- テストレベル:とりあえず開発がコンポーネントテストまではやってくれてるといいなあという状態。システムテスト相当の評価を実施
- 現在の状況:上記の基本 PRJ のほかに、Phaseが複数に分かれる、約 半年に渡る評価 PRJ を担当。常時 2、3 PRJ の PL をしている
という状況で、WACATE 夏のテーマを知った私は「ウェーーーーーーイ!これは私のためのプログラムなのでは?」と浮かれ果ててました。
何しろ、上記の状態なのにテスト計画もろくにない状態でプロジェクトを日々進めていたからです。
この状況を打開せねばならない、しかし、まさに木こりのジレンマ状態。振り上げた斧を下ろすことも、ましてや研ぐこともできない状態でした。(まあ今もまだそうです)
ちなみに、1年前の私はポジぺにこんなことを書いてましたね…
サイクルの早いテストをこなすのでいっぱいいっぱいになってしまい、本来やるべきテストプロセスがおろそかになっている。
か、、、変わってない、、、。(つд⊂)エーン
以前に比べると「要求分析をちゃんと明示的に行うようになった」「開発チームと評価項目のレビューを行うことがプロセスに明示的に組み込まれるようになった」という点では変わりました。
しかし、その中で何をやるのかは各PLに任されており、誰もがこれでいいのか…?と思っている状態でした。(たぶん…。いや私以外はもしかしたらこれで完璧って思ってるのかもしれないですけど)
行った後の感想
作ったものに対してステークホルダーに共有して合意をとる、というのが大事なのは「知って」いました。
だけど、実際には先にあげたとおりの「スピード感」というワードでやらないことをごまかしていたように思います。
実際、テスト計画まではいかなくても、テスト方針を書いて伝えたプロジェクトでは、テスト設計で大きなぶれなくテストができたことを思い出しました。
その時は設計者と PL の間だけのものだったけど、それをちゃんとプロジェクトの開始時点で開発と握って、変わりそうなら開発と握りつつ進めないといけなかったんだな、と思いました。
私に足りなかったのは「テスト計画をステークホルダーと握ること。」
「何のためにテスト計画を作るのかをちゃんとは理解していなかったこと」
この 2 点かなあ。
QAエンジニアになって今更感はあるけど、少しずつチームにテスト計画の意義を共有、浸透していければいいと思いました。
最後に
当時の自分のつぶやきを残して、記事を終えたいと思います。
プロジェクト、プロダクトにあった「品質」のためのテスト
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
テストを全部できない中で「やりきる」ためのテスト
#wacate
こ、、、これですよ聞きたかったの…!!!!!
全部できないなら「やること」やらないこと」をはっきり決める
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
やることの優先度を決めて濃淡をつける
#wacate
これを、ちゃんとみんなで納得感をもってステークホルダーと合意をとる必要があるんだよなあ…
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
テスト対象を渡されて、何を目的とするテストなのかをすぐに石井できるようにならねば…すぐ「input」「output」とか考えちゃう…
「やること」「やらないこと」「何を担保したいのか」を考えるようにしないと。
さっきから誤字ってばかリなのは聞きながら書いているからですのでお許しを…
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
JSTQB で紹介されている 4 段階が絶対ではない
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
#wacate
3段階…かな?一応。
あ、すみません。今の現場の段階がいくつかなって話でした!
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
多分きっと単体テストはやってくれてるし、結合テストらしきものはやってくれてるなー。んで自分たちのテストだなーって思いまして。
信用ならないテストコンサルが使いそうなもの(ISO/IEC 250000) #wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
テストタイプって都合のいいもの…
ちゃんと管理できるようにしましょう
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
システムテストの中のセキュリティテストはそういう管理をしているならテストタイプとか?そういう考え方かな。
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
え。テストレベルとテストタイプを組み合わせた目的…
我々…本当にシステムテストをやっていたのか…?????????
コンポーネントテストレベルのことやってないか???????
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
メッシュ状なるほどって思ったけど、現在のお客様の場合、テストレベルは1つしかないから…
ただ、開発側でこれはお願いね、っていうのは大事かもしれない。
あと、本来統合レベルまでは担保されてるはずよね、で、だからここまではできてるだろうから、我々は機能適合性やるね、とか。
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
「不安があってもやらない」を絶対守る。
ただ、どうしてやらないか、を説明できないのであればだめ。
範囲と頑張り度合いを説明できて共有できることが大事。
はるすぷさんは仕様書のヤバイところが光って見えるらしい☺️
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
考えてみたら、緊急メンテナンスの時のほうがテスト方針を開発とすりわせている気がする…?!
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月15日
概要見積もりから詳細見積を出して計画を変えていくのは実は test planning だった…?(n が多いか?)
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
うちの班も負けてないぞ、と思いつつ、どの班もアグレッシブ…
やる!は決めたし、機能面でやらないは決めたけど、ちゃんとテストタイプとかを検討できなかったなあ…一応機能テストやるって決めたけど…。
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
CSVファイルがダウンロードできること、じゃなくて、正しい再生数の CSV がダウンロードできること、って考えるともう少し頑張れたかなあ…。
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
明確な正解がないのがつらいんだよなあ…
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
テスト計画をどのタイミングで作るべきか、というのは有識者の間でも割れている
リソースを加味してテスト計画を作るべきだけど、同じものはないし、評価も難しい。結果論でしかない。
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
感覚がボヤっとしてるのがダメなのね。
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
テスト計画を理解するために。
テスト計画は「共有するもの」共有するもの―――――――!!!!
だからこそ、関係する言葉を理解する必要がある。
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
テスト計画は製品 #wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
????と思ってたら、あーーーお客さんに納品するものってことね!
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
うまく活用できてる組織はほとんどない
ほとんどないから作らないくていい、ということではないよねえ。
中断と再開基準 #wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
これなあ…計画段階で決められてないことが多いなあ。質の悪いプロジェクトの場合は特に決めておいた方がいいよねえ。
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
対処的戦略ってなんだっけ…
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
私がやってるのは分析的戦略かなあ?
ははーーーーん。これもよくあるあるやな。実装が仕様ですってやつ?
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
リバースエンジニアリング的な感じかなあとはちょっと思ったんだけど違うんかなあ。
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
やっぱりテストする目的が最初なんやなあ
テストレベルが定義できてないってこれヤバいのでは…
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
というか、キックオフでこれを合意するべきか。やってるところとやってないところとあるなあ…。でも何のためにするのかをちゃんと考えなきゃだな。
ちょっと話は変わるんですが、こないだ組込のQAとお話ししたときにまっったく話がかみ合わなかったので、そのあたり大丈夫かちょっと心配。テスト計画に関する説明は大丈夫だと思うんだけど…。
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
JSTQB の知識の使用方法を教えていただいている…!!!!
こういうの知りたかった!(*^▽^*)
回帰テストで考慮するとき、より外部結合率(造語)が高いものをたいしょうにするみたいなことをするといいかな。
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
考えてるんだけどなあ…と思うのは、多分バックキャストのイメージが足りてないし考慮不足なんだろなあ。
3週間でテスト計画からリリース判定までやる中、どうしたらよいものかをいつも考える。
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
と思ってたら、半年くらいかかるものを任されたらそれはそれでどうしたらいいのかわからない悲しみ。
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
10分で作って、20分で付け足す。この感覚でテスト計画を作っていこう!
これなら短納期プロジェクトでも行けるやん!
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
フォーマットを作ればいいや、ってことじゃないんだけど、予め作っておいて、自分の気づきに使うといいかなあ。
そのうえで、戦略やアプローチにこだわろう。
Rule 4 #wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
合意させるためにはまず自分が納得してないとだめだよねえ…。自分を納得させるの難しいなあ…。いっぱいいっぱい考えなくては。
Rule 6 #wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
無理だと思ったら直す。直したら上司に伝えよ。軌道修正する=管理するのがマネジメントですよね!
#wacate
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
話す時間が取れなくても、無理にでも振り上げた斧を下ろす決断が必要なんだよな。たぶん。そうじゃないと計画の見直しが遅れて手遅れになる。
これ、不具合が多い場合じゃなくて、テストメンバーのスキル不足による場合が難しいかなあ…
その言葉、なんですか?でも出た気がするけど「銀のテスト計画」ってものはないんだなと気づいたので、それを持ちかえろう。
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
WACATEに参加された方で、今週末のボードゲーム交流会に興味を持たれた方はつみき宛にポジペの頁数をリプかDM してください✌️詳細をご案内します!オムそばさんに凸でも問題なしです。
— つみき@6/22ボドゲ部:犬派 (@mktk0808) 2019年6月16日
テスコン要求分析チュートリアル前半
記事内容
完全に自分のツイートをまとめただけ。
参考資料
テスト要求分析チュートリアル資料
http://aster.or.jp/business/contest/doc/2019_TRA_1-3_V1.0.0.pdf
ザクっとした感想
テスト要求分析って、なんとなくやったつもりになってるし、なんとなくできちゃう。
これってどういうことかというと、説明はできないんだけど、長年の勘と経験でやれちゃってます、ってパターンがすごく多いってことだと思う。
そのまま同じような差分開発の評価を続けていると、うまくいったように見えていても、どこかに大きな落とし穴があったりして、でも要求分析してないし、そのあとの設計もふんわりするから、落とし穴に気づけないままはまって「なぜ…こんなことになったのか…わかりません…」みたいなことになるんだと思う。
それじゃあかんでえ、と、今回のイベントでは言ってた。
自身の所属する組織や、求められる品質や、開発規模、その他もろもろの要因によって求められる要求が違うので、そこら辺を加味しつつ、
- どういった目的でテストするか
- どこまで、どんなテストをするか
といったあたりを、きちんと根拠をもって、かつ言語化して、ステークホルダーと合意をとりつつ、トレーサビリティをもって要求分析をしましょうね、という風に理解した。
Twitterまとめ
自分のつぶやき。基本的には右矢印(→)から先がその時ふわっと思ったこと。 その手前は資料のメモだったり、講師の人が話してたこと。
— つみき (@mktk0808) 2019年3月5日
テスト要求分析
— つみき (@mktk0808) 2019年3月5日
・集める(準備含む)
・分ける(分解、分類)
・整理する(構造化)
→ 今回はここまで。
あーーーーなるほど…確かに観点出す前にそういうことやってるかも。
要求分析、なんとなくやれてることもある。
— つみき (@mktk0808) 2019年3月5日
→ つい最近までそんな感じだったな(今できてるとは言ってない)
プロセス上それなりの要求分析は行うようになってる
→ 意識的にやることが大事かー。そうだよなあ…。
テスト要求分析の説明は受け手によって深さがまちまち
— つみき (@mktk0808) 2019年3月5日
→ まちまちなのでどうしたらいいかはこれからかな。
どういった目的でテストするか
— つみき (@mktk0808) 2019年3月5日
どこまで、どんなテストをするか
→これ考えるのほんとに要求分析?パッと見観点出しと構造化しかしてないよ?観点出す段階でそこまで考えて構造化しましょうってことなのかなあ...あー私が機能の観点に寄ってしまってるからか。
どこまでどんなテストをするか、
— つみき (@mktk0808) 2019年3月5日
・なんでテスト範囲がそこでいいのか、なんで?をつきつめて考える。
機能分けるだけでいいの?
→業務フローごとに考える、っていうのは一つありな観点かな?
なぜそう考えたか?を説明できて、ステークホルダーと合意できる内容であること。
— つみき (@mktk0808) 2019年3月5日
→ 大事だ~~~~~~~~~~~~~。やっぱり明日開発のリーダーさんに週次隔週でMTGさせてもらお。
他の成果物と整合するべき
— つみき (@mktk0808) 2019年3月5日
→ これ難しいんだよな…。観点図しか出してないからか…。
集め先のところはまあいいや。大丈夫。わかる。でも一応メモ。
— つみき (@mktk0808) 2019年3月5日
• 実際の物
• 開発時に作成された文書
• 設計書
• ユーザーズマニュアル
• 想定された使われ方(≒仕様)
• 問題が起きやすいところ、考えられるリスク
テスト対象以外から得られるテスト要求を忘れる…
— つみき (@mktk0808) 2019年3月5日
→ってどういうこと?対象以外って何?規格とか?
使用者の要求
— つみき (@mktk0808) 2019年3月5日
→ これが難しいんだよな…。うーーん。聞けそうなら聞いてみたい。Summer Days に行って色々聞けるようになろう。
集めた情報を分けて俯瞰する。ロジックツリーを作って整理する。
— つみき (@mktk0808) 2019年3月5日
→ これ苦手な奴~~~。マインドマップで頑張ってる。
深堀の方向
→ なぜなぜだなー。なんで?なんで?を常に念頭に置かねば。
状況変化の情報を集め忘れないように。
→ なぜ開発メンバーが休みがちに、ってなに、、どういうこと
開発メンバーが休みがちに
— つみき (@mktk0808) 2019年3月5日
・仕様変更が多発してるとか、何かハードなことが起きている可能性がある
→ …。去年の夏を思い出す顔
集められない時:想像する
— つみき (@mktk0808) 2019年3月5日
想像できても、できれば事実を集めたほうがいい
・想像に頼りすぎると説明しにくくなる
→ 想像しすぎないようにしないとなあ…。想像だけで作ると途中で矛盾が発生したりするしなあ。
はわわ…分析手法?の話になったら急についていけなくなった…😢
— つみき (@mktk0808) 2019年3月5日
わからないことをそのままにせず、帰ったら調べます。
品質を区分して考える
— つみき (@mktk0808) 2019年3月5日
既存の区分けは便利だが、やりたいこととの相性の確認や内容の取捨選択は検討すべき
→ これにとらわれて要求を見逃さないようにしないとなー。
「常識」「一般的」
— つみき (@mktk0808) 2019年3月5日
「法律などのルール」
→ RFC は法律…?ちょっと違うか。
仕様質問して、RFCに書いてあるでしょ、って言われたんだけどそれは常識なのかな…
NG:チュートリアルで聞いたから必要かわからないがやる
— つみき (@mktk0808) 2019年3月5日
重要なのは理由や問題を理解して行うこと。やろうと思ったらいくらでもできるから、ちゃんと考えないとだめ。
分解⇔分類
— つみき (@mktk0808) 2019年3月5日
要求の種類
・テストを厚くする、しないの要求
・バグを出すのか、動作を保証するのか
・エンジニアリング要求、マネジメント的要求
→ バグを出すのか、動作を保証するのか、、動作を保証することを考えているはずなんだけど、バグも出したい…
今、まさに仕様の内容を分解する、ってやってるわ。
— つみき (@mktk0808) 2019年3月5日
行間を埋める、はやってない。印刷してやってみるかなあ...
空気読むのと同じくらい行間埋めるの苦手なんだけど。
アウトプットをイメージし、どんな切り口の情報が必要か考えながら行う
— つみき (@mktk0808) 2019年3月5日
• テスト設計などのインプットとして欲しい情報は何か?
難しいなあ…
整理はマインドマップ使ってる。
— つみき (@mktk0808) 2019年3月5日
のかな?マインドマップからのオリジナルフォーマットで整理をしているはず。
てか整理はもうアーキテクチャ設計に入るのかと思ったなあ。
集める→分ける→整理する、は、行ったり来たりする
— つみき (@mktk0808) 2019年3月5日
→ 大事なんだけど行きつ戻りつしたときに抜け落ちないようにするの難しい。
Selenium & Edge & Python
Selenium で Edge を動かそうとして詰まりを解消したメモ
自社研修で Selenium で Edge を動かすための環境構築にちょっと苦労したのでメモを残す。
Edge のバージョンが 17 までと、18 以降で手順が違うぞ?!問題
- Microsoft の以下のページから、自身の Edge のバージョンとあった webdriver.exe を落とすように言われた…
developer.microsoft.com
('ω')
18はないでござる...
当然古いバージョンではエラーになってしまう...
調べてみたら、
WebDriverの改善 WebDriver を利用した Microsoft Edge での自動テストがより簡単になりました。
これまで WebDriver を使用して自動テストを行う場合、ダウンロード用の Web サイトに赴き、テストする Edge のバージョンに合わせて個別のパッケージを別途入手する必要がありましたが今回のアップデートにより Windows Feature on Demand(FOD)、つまり Windows 10 の [設定] - [アプリと機能] の中にある [オプション機能の管理]からインストールして使うことができるようになりました。しかも Windows Update により WebDriver のバイナリも自動的に更新されます。
Windows 10 October 2018 Update に搭載されたMicrosoft Edge(EdgeHTML 18)の新機能 – monoe's blog
とあったので、その通りに Microsoft Webdriver をインストールしてみました。
引っかかりポイント 2つ目
もともとは、以下のように webdriver.exe と同じディレクトリに python のファイルを置いて実行していたのですが、当然ファイルは無いのでエラーになります。古いファイルを実行しても、もちろんエラーになります。
#Edgeを操作 driver = webdriver.Edge(executable_path=".\\MicrosoftWebDriver.exe")
困ったなあ…と思ってたら、ぴんときました。
さっき落とした webdriver がこのPCのどこかにいるんじゃない?と。
調べてみたら、c:\windows\system32 の下にいました。 そこで、今度は
driver = webdriver.Edge(executable_path="C:\Windows\System32\MicrosoftWebDriver.exe")
こうしてみたら動くようになったのですが、先輩に確認したところ、そもそも環境変数が通っているところなら、executable_path はいらん!ということで、
driver = webdriver.Edge()
これで動くことが確認できました。ちゃんちゃん。
DNS 勉強会資料 2日目:レジストリ・レジストラ?(memo)(教育)
DNS をはじめよう 2日目
全体の流れ
以下の流れで話が出来たらいいな・・・
レジストリ・レジストラとは?
1 つのTLD ( DNS 勉強会資料 1日目:ドメイン名って何?(memo)(教育) - 備忘録~小さなことから大きなことまで~ 参照) には 1つのレジストリ、が原則です。
ただし、1つのレジストリに対して、レジストラは複数であることが多いです。
お名前.com やサクラインターネットなどのほかにも様々なレジストラがいます。
レジストラの役割
レジストラは、ドメイン名を登録したい人(もしくはその取次ぎを受けた人(リセラ))からの申請情報を受け取り、レジストリが管理するデータベースへの登録依頼を行います。
レジストリの役割 ( 抜粋 )
ドメイン名って何?のなかでも説明しましたが、インターネット上のIPアドレスを特定するための仕組みが DNS です。 例えば example.jp が複数存在してしまうと、いったい私がアクセスしたい example.jp はどれなの?となり、違う宛先にアクセスしてしまうことも考えられます。
そうならないために、「レジストリデータベース」でドメインを一元管理するわけです。
.jp ならば、JPRS がドメインを一括で管理するので、example.jp というドメインを取得したとしたら、example.jp = xxx.xxx.xxx.xxx というIPアドレスを紐づけることによって、インターネットを通して、example.jp にアクセスできるようになるわけです。
おまけ情報
前述のとおり、ドメインの重複は許されません。が、テストなどで適当なドメインを使用してしまうことがありませんか?
それがテストの範囲内で収まってて、インターネット上にでないのであれば問題ないのですが、もしでている場合、きちんと制約をかけないとそれは誰もがアクセスできるものになってしまいます。
ルール上、「example.jp, example.com」といった、「example」というドメインはドメイン登録できない(しない?)ことになっていますので、テストで使う場合は「example」を使ってみてください。
よくテストで使われる「hogehoge」は実際に使用者がいるのでなるべく避けたほうが無難です。
- whois 実行結果
Domain Name: HOGEHOGE.COM Registry Domain ID: 1979393_DOMAIN_COM-VRSN Registrar WHOIS Server: whois.jprs.jp Registrar URL: http://jprs.jp/registrar/ Updated Date: 2018-01-26T17:30:19Z Creation Date: 1996-03-09T05:00:00Z Registry Expiry Date: 2019-03-10T04:00:00Z Registrar: Japan Registry Services Co., Ltd. Registrar IANA ID: 1485 Registrar Abuse Contact Email: gtld-abuse@jprs.jp Registrar Abuse Contact Phone: +81.352158457 Domain Status: ok https://icann.org/epp#ok Name Server: NS1.DNS.NE.JP Name Server: NS2.DNS.NE.JP DNSSEC: unsigned URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/ >>> Last update of whois database: 2019-01-09T03:51:33Z <<<
今日はここまで。