2023年度リクルート エンジニアコース新人研修の講義資料です
英語を勉強していく上で、避けられないのが英単語の暗記。なんとなく後回しにしたり、勉強し始めてもすぐに飽きて嫌になったりという人も多いのではないでしょうか。偏差値70の高校に通う私がいろいろな方法を試してたどり着いた、英単語の勉強のコツを紹介します!(高校生記者・すい=3年) 【1】例文を読む 英単語帳を使って勉強している高校生は多いと思います。そこでまず私がおすすめするのが、例文をしっかり読むことです。 ただ英単語の横に書いてある日本語訳を読むよりも、実際にその単語がどのように使われるのかを知ることで、頭に残りやすくなります。さらに、例文中に使われている知らない単語を積極的に覚えていくと、どんどん語彙(ごい)力を伸ばせます。 例文をしっかり読みたい人におすすめなのが、『DUO 3.0』(アイシーピー、税込1320円)という単語帳です。この単語帳に載っている、面白くて役に立つ例文を覚えること
テストの学習へようこそ! コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 このコースでは、ウェブ用のテストの概要と探索について説明します。 このコースで学習する内容は次のとおりです。 テストの基礎 自動テストと手動テスト テストを実施する場所と方法 ベスト プラクティス 何をテストすべきか、誰に責任があるのか、目的そのものとしてではなく、目的を達成するために手段をテストすることを検討する方法など、テストの理念。 このコースには、学習に役立つ簡潔で実用的なサンプルコードも含まれています。 コースのスコープには、Node.js などの環境で実行される、フロントエンドの JavaScript とドキュメント モデル、バックエンドでのライブラリ テストが含まれます。テストの経験はありませんが、JavaScript の基礎知識と Node.js などに関する経験が必
このブログエントリでは、テスト駆動開発(TDD: Test-Driven Development)の考案者Kent BeckがTDDの定義を改めて明確化した文章を、許可を得たうえで翻訳し、訳者の考察を沿えています。 きっかけ 2023年の年末、テスト駆動開発(TDD: Test-Driven Development)の考案者Kent Beckは、substackにTDDに関するポストを連投して論戦を繰り広げていました。TDDはその誕生から20年以上が経ち、その間に「意味の希薄化」が発生して議論が噛み合わなくなっていました。意味の希薄化(Semantic Diffusion)とは、新しく作り出された用語が広まる際に本来の意味や定義が弱まって伝わる現象です。 私(和田)はTDDと関わりの深いキャリアを歩んできました。Kent Beckの著書『テスト駆動開発』の翻訳者であることもあり、TDDの正
2023年の流行語大賞にも選ばれた「生成AI」。 ChatGPTだけでなく、Google BardやClaude2など似たようなAIチャットボットも登場し、性能も日に日に上がっている感覚がありますね。 しかし、結局どれが一番賢いんだろう?と思いつつひとまずChatGPTを使っている方も多いはず。 そこで、今どのチャットAIが一番頭良いのか白黒つけてしまおう!ということで、ちょうど週末に行われた大学入試共通テスト2024を使って学力テストを行いました! 参加する学生は、 ①GPT-4くん ②Google Bardちゃん ③Claude2さん の三名です 果たして誰が学力王の座に輝くのか・・・? 選手入場①GPT-4くん一人目は、皆さんご存じChatGPTです。Open AI予備校に月額$20の課金して学力武装しています。 特徴としては、プロンプトの研究が進んでおり、画像やPDFファイルの読み
バグは“数千パターンのテスト”をすり抜けた ―NTTデータ「2023/10/10 全銀ネット障害」について説明 NTTデータグループは2023年11月6日、10月10日に発生した全国銀行データ通信システムの障害に関する記者説明会を実施、現時点で判明している障害の概要について説明を行うとともに、再発防止策に向けたタスクフォースの設立などについて明らかにしました。会見の冒頭、NTTデータグループ 代表取締役社長 本間洋氏は、今回の障害により全国の預金者や金融機関をはじめとする社会全体に大きな混乱をもたらしたことを謝罪し、今後の原因究明と再発防止に向け、全国銀行試験決済ネットワーク(以下、全銀ネット)とともに全力をかけて取り組むことを明言していました。 本記事では会見の内容をもとに、現時点で判明している10月10日の事故の原因についてレポートします。 2023年10月10日 ―なにが起こったのか
大学在学時に、ソフトウェアVPN(Virtual Private Network)の「SoftEther VPN」(以下、SoftEther)を開発したことで広く知られる登 大遊氏。SoftEther開発後も中国の検閲用ファイアウォール「グレートウォール」へのハッキングなどで話題を集め、現在は東日本電信電話(NTT東日本)のビジネス開発本部 特殊局員、情報処理推進機構(IPA)の産業サイバーセキュリティセンター サイバー技術研究者、筑波大学の客員教授などを務めている。 登氏が、ゲットイットが開催したWebセミナーで、日本のITエンジニアに必要な「トライ&エラー(トライアルアンドエラー)の思考法」について話した。ゲットイットは、リユースIT製品の販売やレンタル、メーカーサポートが終了した製品の保守をサポートするIT機器保守(第三者保守)など幅広い役割で、NTTグループをはじめとする多数の企業
はじめに この記事は レガシーコード改善ガイド: 保守開発のためのリファクタリング を参考に手を動かしてみて、ある程度自分の中で体系的にまとまった知識のアウトプットです。 この記事で扱う内容 この記事で扱うのは主にレガシーコードで単体テストを書く際のハードルになりがちな 依存関係の排除 に関する手法を紹介します。 この記事を読んだ後に、 『この観点を持っておけば単体テストをスムーズに書いていけそう!』 『今までモック使ってたけど意外とモック使わなくても書けるね!』 となったらいいな、と思います。 ちなみに、今まであんまりテスト書いたことないよーて人は以下の記事など参考にして一度やってみてください。 前提の話: この記事の本旨は「テスト書きにくいプロダクトコードも依存関係を排除すれば楽にテスト書けるよ」なので、それ設計的にアウトでは?リファクタリング耐性低くない?みたいな話は度外視してます。
こんにちは、SWETグループの田熊です。 現在SWETグループでは書籍「単体テストの使い方/考え方」の輪読会を実施しています。 輪読会ではメンバー同士で活発に意見が交わされていますが、著者の主張に疑問を感じる箇所もあり、一度グループ外の方とも意見を交換したいと考えていました。 そこで、t_wadaさんをお招きし「単体テストの使い方/考え方」についてディスカッションする機会を設けました。 本記事では、SWETメンバーとt_wadaさんとのやりとりを紹介したいと思います。 ディスカッションの流れ ディスカッションは事前にSWETグループのメンバーが書籍を読んで疑問に感じたテーマを挙げてもらい、t_wadaさんの意見を聞くという流れで行いました。 今回は次のテーマについて話をしました。 「退行に対する保護」があるテストとはなにか 「リファクタリングへの耐性」のトレードオフはあるのか 統合テストの
該当のツイートは削除したのですがどこまで拡散されたかもはや把握できていないので一応一連の流れなどを書いておきます。 別に釈明がしたいとかそういう訳ではなくフォロワー向けの読み物程度のものであることはご承知おきください。 はじまり ツイートの拡散、ねじ曲がる文脈 けど結局自分が悪くない? それはそれとして はじまり 2024年3月7日、自分はバーチャルYouTuberさん(迷惑がかかっても嫌なのでここでは名前は伏せます)のイベントに参加するため川崎のラチッタデッラに来ており、同時に開催されていたコラボカフェでランチを食べていました。 そこでコラボカフェを食べながら母親とLINEをしていた時のやり取りがまさしくこれです。 前後の流れとしては今日は有給取って川崎来てるんだよね(ラチッタデッラの画像を見せる)→おしゃれな場所じゃん→パンケーキ食べてるよ(スクショ部分)→美味しそうだね〜→今度東京遊
目的 アプリケーションが通信に失敗した際のテストを行いたい 例. 「通信に失敗した場合に再取得ボタンが表示されること」など 方法1. Chrome DevTools を使う https://developer.chrome.com/docs/devtools/network/reference?hl=ja#throttling 任意の設定を追加して使用することができる メリット PCとモバイルデバイスの両方で使用可能 新規にアプリケーションをインストールする必要が無い デメリット パケロス率などを設定できない Android, iOS のネイティブアプリでは使用できない 方法2. Network Link Conditioner を使用する Network Link Conditioner は Apple が提供しているネットワークユーティリティツール 使用手順等は以下のサイトが分かりやす
僕自身は龍が如くシリーズは、クロヒョウ2、極1、極2、0、3、4、5、6、0とやって、7はRPGだし主人公違うしなぁと思って、買うだけ買って後でやろうと積んでいたところ、CEDECのすごいテストの話を聞いて、(オリジナル版を積んでいたのに)インターナショナル版を買って始めてしまうぐらいインパクトがあり(そして積んでたのを後悔したぐらいよかった)ました。それ以降、維新極、7外伝、8は発売日に買ってプレイしてます。 こちらにその講演の詳細なレポートがこちらにあります。 https://www.famitsu.com/news/202009/11205564.html その8の発売前に龍が如くスタジオの技術責任者の方がXのアカウントを開設して、C++のコードを投稿されていたのですが、それに対してエンプラ開発目線で意見しているようなツイートを見かけて、「いや、システムの特性全然違うから」と思い筆を
保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発、その全体像 ~Software Design 2022年3月号「そろそろはじめるテスト駆動開発」より 今回、Software Design 2022年3月号 第2特集「そろそろはじめるテスト駆動開発 JavaScriptでテストファーストに挑戦」の第1章「保守しやすく変化に強いソフトウェアを支える柱 自動テストとテスト駆動開発、その全体像」を本サイトに掲載します。第2章以降については、本誌『Software Design 2022年3月号』電子版(Gihyo Digital Publishing、Amazon Kindle)をご購読いただければ幸いです。 第1章では、混同されることの多い自動テスト関係の概念を、自動テスト、テストファースト、テスト駆動開発の3つの段階に分け、それぞれの効果や注意点を説明します。ソフ
テスト専門会社が出版した渾身の書、『【この1冊でよくわかる】ソフトウェアテストの教科書』の出版ストーリー:多くのエンジニアに愛される理由とは 『【この1冊でよくわかる】 ソフトウェアテストの教科書 [増補改訂 第2版]』は、初版の発行部数は22,000部、2021年8月出版の改訂版は13,000部に上り、技術書としては異例のシリーズ累計35,000部を突破しました。(2023年6月現在) ソフトウェアテスト専門企業であるバルテス株式会社の技術者が執筆した、ソフトウェア開発工程のテストについて、基礎からしっかり体系的に学習できる本格入門書です。 このストーリーでは、初心者から上級者まで幅広い層に読まれている、ソフトウェアテストのバイブルともいえる本書完成までの経緯や苦労話、著者であるバルテスの石原 一宏氏と布施 昌弘氏が伝え続けたい想いをお伝えします。 テスト設計に必要な考え方を身につけられ
この記事は、株式会社カオナビ Advent Calendar 2023 の3日目です。 はじめに 株式会社カオナビの高橋(@kunit)です。 今回は MySQL バージョンアップ(5.7 -> 8.0) で起きた問題とそれに対してどのように対処したのかを書いていこうと思います。 何が起きたのか MySQL 5.7 から 8.0 にバージョンアップをするにあたって、CI およびローカル環境でテストができるように MySQL 8.0 のイメージを作成し、それをつかって各機能の担当者にテストを開始してもらっていたのですが、以下のような事が起きました。 接続を MySQL 5.7 から 8.0 に切り替えただけでテストの時間が3倍くらいかかるようになった そこを変更するだけで3倍遅くなるってやばいぞということで報告してくれた担当者と同じテストを自分でも実施してみると再現性があり、それが以下のどの
私は開発寄りのエンジニアであり、テストやQA専門の方と同じチームで頑張る機会が少なかったのですが、「なるほど、こうやって考えて、こういうツールを使っているのか」と非常に勉強になりました。 こんにちは。AWS事業本部モダンアプリケーションコンサルティング部に所属している今泉(@bun76235104)です。 最近ではアジャイル開発やスクラム開発が多く採用され、ビジネスのスピードに負けないようにプロダクト開発・リリースのスピードが求められれている中で、「いかに効率よく、かつ効果的なテストをしていけるか」というのはテスト担当だけでなく、開発メンバー全員で考える必要があると思います。 とはいえ、実際のチームには「専任のQAエンジニアやテストアナリストはいない」ということは非常に多いと思います。 基本的なテスト技法は本で学んできたけど、どういう時にどんな技法でテストを設計すればよいの? 本職のテスト
ウェブブラウザを自動操作する際には、WebDriverやChrome DevTools Protocol (CDP) などのAPIが広く利用されています。 これらのAPIを基盤に構築された様々なブラウザ自動操作フレームワークが、テスト自動化の分野で重要な役割を果たしています。 例えば、SeleniumやPlaywrightといったフレームワークを利用して、テストの自動化に取り組まれている方もいらっしゃると思います。 私もテスト自動化フレームワークの便利さを享受する一方で、フレームワークを介さずにブラウザを自動操作する方法についての興味がわいてきました。 そこで、この記事ではWebDriverやCDPが提供するAPIを直接利用してブラウザを操作する方法を基礎から探求してみることにしました。 これにより、私たちが普段利用しているフレームワークの背後にある原理を理解し、より深い知見を得ることを目
はじめに この記事は、Merpay Tech Openness Month 2023 15日目の記事です。 こんにちは。メルペイ加盟店精算チームのバックエンドエンジニア@r_yamaokaです。 今日は現在自分がリードして取り組んでいるテストコードの改善について紹介したいと思います。 抱えている課題 私が所属している加盟店精算チームのマイクロサービスは加盟店さま向けサービスとして欠かせないものであり、メルペイ最初期から存在するサービスです。他のマイクロサービスにあまり無い特徴として多数のバッチ処理を行っている点が挙げられます。 お客さま(メルペイユーザー)がお店で行った決済は、一定の頻度で集計し決済手数料を差し引いた上で加盟店さまの銀行口座へ振り込むことになります。 最終的な振込金額を算出するまでの流れとしては 個々の決済金額のリコンサイル(会計マイクロサービスとの金額照合) 日次集計 締
マイクロソフトは、Webアプリケーションのテスト自動化ライブラリ「Playwright」を用いた、Microsoft Azure上のテスト自動化サービス「Microsoft Playwright Testing」のプレビュー公開を発表しました。 Microsoft Playwright Testingに使われている「Playwright」は、マイクロソフトが中心となってオープンソースで開発しているWebアプリケーション向けテスト自動化ライブラリです。対応環境が幅広く柔軟で、精度の高いテストを特長としています。 具体的には、Chrome、Edge、Firefox、Safariの主要なWebブラウザのすべてを対象にしたテスト自動化が可能で、ヘッドレス、ヘッドありのいずれにも対応。モバイルエミュレーションを用いたAndroid版Google ChromeとMobile Safariのテストも、実
リファクタリングの鶏卵問題 ソースコードがクソなので綺麗にしたい。 リファクタリングしたい。 しかし、リファクタリングが出来ない。 リファクタリングが出来ないのは、テストが無いからだ。 よし。じゃあテストを書こう。あれ、テストが書けない? そのようなテストが無く、書き換えられないことによる矛盾や憤りは皆さん何百回と感じてきたと思います。 しかし、この「テストが出来ない」ということを言語化するのは、非常に難しいと思います。それは、「テストが出来ない」には実は2つの視点があります。 本質的にテストが困難なモジュールで、誰がやってもテストが書けない。 本質的にモジュールはテスト可能だが、自分の実力が足りず、自分ではテストが書けない。 1.のようなテスト困難なモジュールは誰がやってもテストは書けないです。しかし、問題は、「テストを書きたい」と思ったとき、「自分がそれほどテストに詳しくない」という場
Python(pytest)でテスト書くならfixture,conftest,parametrizeを理解すると世界が一気に変わる 概要 Pythonのテストライブラリといえばpytestが一般的です。 Python標準のuniitestとは異なり、クラスベースではなく関数ベースでテストコードを記述することが一般的ですが、fixture,conftest,parametrizeを理解すると一気に世界が変わり、テスト体験が圧倒的に向上するため、これらの実装方法を紹介します。 リポジトリ 本記事の説明に使用しているサンプルのテスト実装は、以下のリポジトリです。 想定読者 PythonやGitの基本的な使い方を理解している方を想定しているため、基本的な用語説明は省略しています。 環境 エンジニアの利用率の高いmacOSを前提として説明していますので、その他の環境の方は随時読み替えてください。 開
マイクロソフト、Webアプリテストの自動化サービス「Microsoft Playwright Testing」プレビューを開始 マイクロソフトは、Webアプリケーションのテスト自動化フレームワーク「Playwright」を用いた、Microsoft Azure上のテスト自動化サービス「Microsoft Playwright Testing」のプライベートプレビューを開始すると発表しました。 テスト自動化フレームワーク「Playwright」 Playwrightは、マイクロソフトが中心となって開発しているオープンソースのWebアプリケーション向けテスト自動化フレームワークです。 実行環境、対象ブラウザ、対応言語が幅広く、テスト実行時にはWebブラウザの動作を自動的に待つ機能を備えるなど、柔軟で精度の高いテスト自動化が実現できる点を特長としています。 具体的には、デスクトップ向けのWebア
» 【検証】フタを開けた時に一番ガッカリしない「筒型ポテトチップス」はどれか? レーザー距離計でフタから中身までを測ってみた結果… 特集 【検証】フタを開けた時に一番ガッカリしない「筒型ポテトチップス」はどれか? レーザー距離計でフタから中身までを測ってみた結果… あひるねこ 2023年12月5日 基本的にポテトチップスと名の付くものなら何でも好きだが、筒型のポテチは袋よりも若干高価なのでスペシャル感がある。しかしだ。先日、久しぶりに某商品を購入。ワクワクしながら開けてみたところ、いきなり違和感が。 なんか少なくね……? え、こんな量だった? 筒の長さに対し、どうも中身が少なく感じられたのである。まさか食べる前に軽くガッカリさせられるとは……世界って残酷ですね。そこで今回は、フタを開けた時に一番ガッカリしない筒型ポテチはどれか調べてみることにしたい。 ・距離を検証 用意したのは以下の5種類
この記事はKeployのバージョンv2.0.0-alpha53 を前提に執筆しております。 Keployとは KeployはeBPFを利用して取得できるWebアプリケーションの通信に関するトレース情報を元に、テストとそのテストの実行時に利用するスタブサーバーを生成することができるツールとなります。 公式サイトのトップには以下のようなスローガンが掲げられています。 2 minutes to 90% test coverage! テストに苦労した経験のある方は興味を惹かれるのではないでしょうか。 現在まだアルファ段階のプロジェクトですが、GitHubスター数は2683(2024/01/04現在)、CNCF Landscape にも掲載されているなど、一定の注目を集め始めているOSSです。 開発主体はプロダクトと同名のKeployというインド発のスタートアップで、去年GoogleによるインドのA
アジャイル型の開発が導入されていない現場であっても、そして一人であっても、実践可能なアジャイルに関するプラクティスは存在します。 例えば、自動テストや、テストファースト、テスト駆動開発(TDD:Test Driven Development)です。ユニットテストフレームワークを使ってテストコードを書いて開発しながらテストを実行する「自動テスト」、実装の前にそのテストコードを書く「テストファースト」、テストと実装を繰り返しながらインクリメンタルに設計・開発を行うのが「TDD」。これらプラクティスのなかで、はじめの一歩となるのが自動テストですが、1人で実践するには、どこからはじめるか、どうテストを組み立てればよいのか、あるいは自分のテスト方法は適切なのか、不安を持つこともあるでしょう。 そこで本稿では、さまざまなチームや組織へのテスト手法の導入を支援し、精力的に講演や執筆などを行ってきたこの分
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く