Togetter/min.tを安心してお使い頂くためのガイドラインを公開しました。
2019年3月26日

「脳から社会を覗く」熟練賢者エンジニアが語るテスト開発経験の重要さとは

まとめました。
0
Seiver @Seiver17808307

知識ゼロから学ぶソフトウェアテスト 【改訂版】 翔泳社 amazon.co.jp/dp/4798130605/… via @amazonJP

2019-03-24 21:02:40
Seiver @Seiver17808307

ソフトウェア開発って、企画、要件定義、設計、環境構築、製造、テスト、デプロイ、保守とすべての工程に関わるとそれぞれ楽しいと思えるけどなあ。   プログラムするだけが、ソフトウェア開発ではないからね。   フリーランスならコーディングだけでは駄目よ。

2019-03-24 20:47:50
Seiver @Seiver17808307

テスターすると、テスト駆動の視点も広がる。   テストも碌々したことないのに、フリーランスでプログラマーする人は危ない。   テストが嫌いなのはいいけど、テストしないのは別問題。

2019-03-24 20:46:14
Seiver @Seiver17808307

マイクロソフトにいたテスターの人が書いた本がある。   そこに、韓国人のテスターの発言がでてくる。   プログラマーの技術ははやり廃れが激しいけど、テストはそうでない。 ツールはありつつもそこまでドラスティックには変わらない。   テスターの方が知識効率が高い。

2019-03-24 20:40:24
Seiver @Seiver17808307

専門のテスターがいない、または、テスト会社にお願いしないなら、開発者がするしかない。   やるなら、プログラム作るのと同じ思考で、無駄を省きつつ、目的を達成させる。   楽しんでするのがいい。   僕はテストも結構好きだけど。 他人の作ったものならなおのこと。 バグ見つけるの楽しいよ。

2019-03-24 20:38:35
Seiver @Seiver17808307

ソフトウェア開発においでテストなきリリースはない。   テスト楽しいのに。   ツールつかって、無駄なことはできるだけ省きつつ、バグをみつけて、なおしてもらって、またテストする。   問題がなくなるにしたがって、ソフトウェアへの信頼が高まる。

2019-03-24 20:35:42
Seiver @Seiver17808307

面接は時々立ち会い、それなりの回数している。 勿論、いろんな人にもあうから、人相、視線、会話、思考、身なり、趣向などで、代替人材としてのスキルは見える。 一般的な人材判定テストの結果は結構当たってるので、積極的に使う。

2019-03-22 03:41:29
Seiver @Seiver17808307

nodejsやjs周りの、"ビルド"の発想は、Cのビルドをもっと色んな分野へと使うことを促したように思う。 このビルドの発想があれば、CIツールなど人が手を下すのが面倒なところは、ツールにしてもらえばいい。 製造、テスト、デプロイ。 組み込み系も色々これを導入すれば便利になると思う。

2019-03-11 14:15:07
Seiver @Seiver17808307

ラズパイでフロトタイプ作るならRubyでもPHPでもできる。   問題はプロダクトとして実用に耐えられるか。 ランニングテストして、落ちたり、止まったりする頻度をどれぐらい抑えられるか。   動くだけでは、組み込み系はだめ。ランニングテストを通過しないと。

2019-03-11 14:07:12
Seiver @Seiver17808307

今はCIツール、エミュレータ、仮想化もあるから組み込みも比較的し易い。ラズパイならDockerのrasbianイメージでリソース設定低めにして開発。その次に実機テスト。   実機テストもtcpとかあけといて、パラムをPCから送って自動テスト。   最後、手動のシステムテストやランニングテスト。

2019-03-11 13:56:13
Seiver @Seiver17808307

NightWatch.jsとか画面テストのライブラリーとか、Webフロントも自動化テストツールは色々あるから、それも整備しとかないと。

2019-03-11 13:43:58
Seiver @Seiver17808307

コードジェネレーターは、ただ、ソフトのコードだけじゃなく、テストコードやテストデータのもね。   テストなき開発なんてないんだから。

2019-03-11 13:42:00
Seiver @Seiver17808307

大凡、画面周りができたので、微調整をして、テスト。   しかし、NTTのフレームワークじゃないけど、仕様きめたら、ある程度のコードはつくってほしいね。   フレームワークにしてるんだから、コード作り安いだろうに。 凝り出すとscaffoldもそれ自体改修しないとだめじゃないのかな。

2019-03-11 13:41:06
Seiver @Seiver17808307

@_ikeshin 画面のテストをしてるんですが、さすがに手でやると時間かかるので、seleniumでテストかいとこうと思ってます。

2019-03-11 13:00:05
Seiver @Seiver17808307

Seleniumで画面テストの準備。 いまはもっといいのがある?

2019-03-11 12:56:23
Seiver @Seiver17808307

テストデータは気をつけよう。

2019-03-10 18:42:01
Seiver @Seiver17808307

テストを上手くこなせた時の達成感はないね。    段取り、ツール、テスト設計。 単体テスト後の結合、総合テストもスキルが必要で、これを経験するとまた、プログラムの設計視点も広がる。   テスト経験してないと、設計がしょぼくなり、あとで直す羽目になる。   テストを制するものは製造を制す

2019-03-10 00:32:05
Seiver @Seiver17808307

テスト領域のツールや手法、書籍などをみてると、どこでテストの工数がかかり、大変かが分かる。   逆にういうと、それを起こさないプログラム設計が必要。 例えば、テスト工数を増やす要因は、条件分岐。 これを点在させることはテスト工数を増加させる。 なので、条件分岐は集約させる。単純に。

2019-03-10 00:29:27
Seiver @Seiver17808307

プログラマーはテストしたくないというのはわかるけど、経験はした方がいい。絶えずする必要もないけど。   自分はマイクロソフトのテスト部門にいた人と仕事したことあるけど、効率的なテストにするためには、効率的に製造されたコードがあるにこしたことない。

2019-03-10 00:27:05
Seiver @Seiver17808307

オブジェクト指向、コンポーネント指向、ドメイン駆動、テスト駆動、アスペクト指向、関数型のパラダイム、手続き指向、おおよそ、設計で語られる視点は一つのアプリにすべて含まれる。それは処理の工程や構造の違いで使い分けられるだけ。

2019-03-09 23:52:43
Seiver @Seiver17808307

フロントとサーバは、互いがないと振る舞えないような設計にすべきではない。   それこそテストしにくい。 互いが独立して動けばテストもしやすい。モジュールのリプレイスもしやすい。   複雑性を排除して、バグも生みにくい。

2019-03-09 23:22:49
Seiver @Seiver17808307

スクールがあれもこれもしてるのをみると、採用側の目もそれなりに厳しくなるよね。それを知ってくると。でも、それはそれでいいのかな。全然知らない人よりは。でも、僕は、やっぱり、表面じゃなく、思考を見るテストをするね。なおのこと。

2019-03-06 21:39:41
Seiver @Seiver17808307

Webの開発は10年ぐらいしてるけど、ほんと益々覚えることが増え、やり方が変わってきた。この先も同様だろう。環境が変わるからね。知識と収入の効率が悪い分野でもある。テスト、インフラなどの方が効率がよさそう。

2019-03-06 05:13:20
Seiver @Seiver17808307

Railsなんかも、一つのエコシステムで、書き方にはじまり、開発なテスト、デプロイなんかも大体似たよう手続きをふみ、問題解決の発想や調べ方と近い。あとはこれを支えるプログラマーの数。まさに、エコシステムだね。

2019-03-04 17:40:26
Seiver @Seiver17808307

RailsやRubyを使ってるから分かりやすいとかじゃなくて、その会社やチームの設計やコーディング、テスト、デプロイの仕方、文化に依存する。この仕方や文化がいいとこは、どの言語でも上手く開発できる。逆も真なりじゃないかな。

2019-03-03 10:11:51

コメント

コメントがまだありません。感想を最初に伝えてみませんか?