Shift test left and effectively debug to beat app quality challenges | StudioFP118

Microsoft Developer
23 May 202416:04

Summary

TLDRこのビデオスクリプトでは、Docker社のStephenとEllieが開発者に対して開発サイクルの早期にソフトウェアに対する自信を与える方法について話しています。彼らは「テスト左移り」という概念を紹介し、Docker Desktopの最新バージョンで利用可能な「Docker Debug」という新しいサービスをデモンストレーションしています。Docker Debugは、開発者がコンテナ内で問題を迅速に特定し、解決できるようにするツールです。さらに、彼らは「Testcontainers」というオープンソースライブラリについても説明しており、これは開発者がIDE内で実際のフィードバックを得るためのものです。これにより、ステージング環境なしで繰り返し可能なテストが可能になります。彼らは両方のツールが開発者の生産性とソフトウェア品質向上に貢献するのに役立つと述べています。

Takeaways

  • 🐳 Dockerは開発者に対して開発サイクルの初期段階で書かれたソフトウェアに対する自信を与えることに注力しています。
  • 🔧 Docker Debugは開発者がIDEやマシン上でコードをビルド、デバッグ、テストする際に役立つ新しいDockerのサービスです。
  • 🛠️ Docker Debugはコンテナ内で実行されているツールを活用し、コンテナの状態にかかわらず(実行中でも停止中でも)デバッグを可能にします。
  • 👨‍💻 Testcontainersは開発者がIDE内でリアルなフィードバックを得るために使用できるオープンソースライブラリです。
  • 🔄 Testcontainersは開発者がステージング環境なしで繰り返し可能なテストを実行できるように支援するフレームワークです。
  • 🌐 Testcontainers Cloudを利用することで、ローカル開発やCI環境で同じバックエンドを利用し、一時的なリソースをオンデマンドで取得できます。
  • 🛑 開発者がIDE上でバグを修正し、すぐに再テストすることができるため、開発プロセスが効率化されます。
  • 📚 Testcontainersは10以上の言語で利用可能で、さまざまなコンテナをテストするための統合された便利な方法を提供しています。
  • 🤝 コミュニティとパートナーシップによって、Testcontainersのカタログはオープンソースとして成長し、多くのサービスが追加されています。
  • 🚀 Docker DebugとTestcontainersは両方とも現在利用可能で、開発者からの興味とポジティブなフィードバックを受けています。
  • 🔍 開発者たちはDockerを通じてレガシーアプリケーションをコンテナ化し、開発環境を本番環境のように扱うことでセキュリティを強化し効率化に興味津々です。

Q & A

  • 「シフトテスト左」とはどのような概念ですか?

    -「シフトテスト左」とは、開発サイクルの初期段階で問題を見つけることに重点を置いたソフトウェアテストのアプローチです。開発者がコードを書く、デバッグし、テストする開発ループの早い段階で問題を見つけることで、開発者の自信を高めることを目的としています。

  • Dockerはどのようにして開発者の開発ループに貢献していますか?

    -Dockerは開発者がIDEやマシン上でコードを書いたりデバッグしたりする開発ループにおいて、より生産的になることを目指しています。問題を早く発見し、開発サイクルの初期段階で自信を高めることで、開発者の満足度を高めることに重点を置いています。

  • Docker Debugとはどのようなサービスですか?

    -Docker DebugはDockerが提供する新しいサービスで、開発者がコンテナ内で問題をデバッグする際に必要なツールを提供します。コンテナ内で動作しているツールを簡単にインストールし、使用できるようになります。

  • Docker DebugはどのバージョンのDocker Desktopで利用できますか?

    -Docker Debugは最新バージョンのDocker Desktopで利用できます。

  • Docker Debugはコンテナの状態に依存しますか?

    -Docker DebugはDocker Execとは異なり、実行中のコンテナだけでなく、停止したコンテナやイメージでも使用できます。

  • Testcontainersとはどのようなライブラリですか?

    -Testcontainersはオープンソースのライブラリで、開発者がステージング環境なしにIDE内でリアルなフィードバックを得られるようにします。これにより、開発者はコードを書く際に問題を早期に発見し、開発サイクルの初期段階で問題を解決できます。

  • Testcontainersはどの言語で使用できますか?

    -Testcontainersは10以上の言語で使用でき、様々なサービスと統合することができます。

  • Testcontainers Cloudとはどのようなサービスですか?

    -Testcontainers Cloudは一時的なクラウドソリューションで、ローカル開発やCI環境で同じバックエンドを利用し、一時的なリソースを必要に応じて提供します。これにより、テストの結果が環境によって異なることを防ぎます。

  • Docker DebugとTestcontainersはどちらが先に開発されたか教えてください。

    -スクリプトからはその情報が得られませんが、どちらのサービスも現在利用可能であり、開発者が効率的にソフトウェアを開発・テストするためのツールとして提供されています。

  • Docker DebugとTestcontainersはどのように相補的な役割を果たしていますか?

    -Docker Debugはコンテナ内での問題をデバッグするツールであり、TestcontainersはIDE内でリアルなフィードバックを得るためのライブラリです。これらは開発者がコードを書く、テストし、問題を解決するプロセスを効率化し、開発サイクルの早期段階で問題を特定し解決するのに役立ちます。

  • スクリプトで紹介された機能はどのようにして試すことができますか?

    -スクリプトで紹介された機能については、最新バージョンのDocker Desktopをダウンロードして利用することができます。また、Testcontainersも同様に利用可能です。

Outlines

00:00

🐳 Dockerとテスト左移の紹介

この段落では、スピーカー1がDockerとテスト左移のトピックに触れています。DockerのStephenとEli Aleynerを招待し、開発者が開発サイクルの早期段階でソフトウェアに対する自信を持つことの重要性を強調しています。Dockerは開発者がIDEやマシン上でコードを構築、デバッグ、テストする際の開発ループにおいて、特にコードをGitリポジトリにチェックインする前にも、自信と生産性を高めることに大きな力を入れています。また、問題を早期に発見し、開発者の満足度を高めることで、エンジニアの幸福感も向上するという側面も触れられています。彼らは開発者が開発サイクルの早期段階で書いているソフトウェアに対する自信をさらに高める2つの具体例を紹介すると約束しています。

05:01

🛠 Docker Debugのデモンストレーション

Stephen NovickはDocker Debugという新しいDockerのサービスを紹介し、Docker Desktopの最新バージョンで利用可能であると述べています。彼は簡単なPythonウェブサイトを実行し、その中で問題を見つけるためにDocker Debugを利用しています。Docker Debugは、コンテナ内で動作するシェルであり、開発者が必要なツールをコンテナに持ち込めるようになります。デモンストレーションでは、コンテナ内でファイルを編集し、問題を解決する方法を示しており、これにより開発者はコンテナの状態にかかわらず、実行中のものや停止しているもの、またはイメージから直接デバッグが可能であると強調しています。

10:02

🔧 Testcontainersによる開発者フィードバックの改善

Eli AleynerはTestcontainersというライブラリとその開発者フィードバックの向上について話しています。Testcontainersはオープンソースフレームワークで、10以上の言語で利用でき、開発者がステージング環境なしでIDE内でリアルなフィードバックを得られるようになります。Eliは.NETで動作する天気アプリケーションを例に、SQL Serverコンテナを起動し、機能テストを実行する方法を説明しています。このプロセスでは、新しいSQL Serverが起動し、テストが実行され、終了後は自動的に削除されるため、開発者は環境のセットアップや管理を心配する必要がなくなります。また、Testcontainers Cloudを利用することで、ローカル開発やCI環境で同じバックエンドを利用し、一時的なリソースを必要に応じて利用できると紹介しています。

🎉 Docker DebugとTestcontainersの利用とフィードバック

最後の段落では、スピーカー1がStephenとEliにフィードバックを求めています。Docker DebugとTestcontainersが利用可能で、開発者からの興味と喜び、特にセキュリティと開発テスト環境を本番環境と同じように扱うというアプローチに関心があると報告しています。開発者たちはコンテナ化されたレガシーアプリケーションの利点や効率性、ローカル環境への移行に興味を持ち、Docker Debugを使った開発者からはデバッグ時間の短縮に感激しています。また、Testcontainersを利用して開発者たちがリアルなフィードバックを得られることにも興味を示しています。最後に、Docker DebugとTestcontainersについてもっと知りたいと興味を持っている開発者向けに、Microsoft.comのパートナーページへのリンクを案内しています。

Mindmap

Keywords

💡シフトテスト左

「シフトテスト左」とは、ソフトウェア開発におけるテストプロセスを開発プロセスの初期段階に移すことを指します。このアプローチにより、開発者が早く問題を見つけ、ソフトウェアの品質と信頼性を向上させることができます。ビデオでは、Docker社のStephenとEllieが開発者に対して開発サイクルの早期段階でのテストを重要視し、自信を与える方法を説明しています。

💡Docker

Dockerは、ソフトウェアをコンテナ化するプラットフォームです。コンテナは、ソフトウェアとその実行環境をパッケージ化し、移植性と再現性を高めるための技術です。ビデオでは、Dockerが提供するツールを使って開発者が自信を持ってソフトウェアを開発できるようになることが強調されています。

💡Docker Desktop

Docker Desktopは、WindowsやMacOS上でローカルにDocker環境を実行するためのデスクトップアプリケーションです。ビデオでは、Docker Desktopの最新バージョンで利用可能なDocker Debugという新しい機能について紹介しており、開発者がローカル環境で問題を迅速に特定できるようになる点に焦点が当てられています。

💡Docker Debug

Docker Debugは、開発者がコンテナ内で問題をデバッグするためのツールです。ビデオでは、StephenがDocker Debugを使ってコンテナ内で動作しているアプリケーションの問題を特定し、修正する方法をデモしています。これは開発者が開発サイクルの早期段階で問題を特定し、解決するのに役立つと示されています。

💡コンテナ

コンテナは、ソフトウェアを実行するための軽量で移植可能な実行環境です。ビデオでは、コンテナがセキュリティとリソース管理に優れている一方で、デバッグが困難であることが指摘されています。Docker Debugはコンテナ内でツールを実行し、デバッグを容易にするためのソリューションとして紹介されています。

💡テストコンテナ

テストコンテナは、開発者がIDE内で実際のフィードバックを得るために使用できるオープンソースフレームワークです。ビデオでは、Ellieが.NETアプリケーションをテストする際にテストコンテナを使ってSQL Serverコンテナを立ち上げ、テストを実行する方法をデモしています。これは開発者が開発サイクルの早期段階でバグを特定し、解決するのに役立つと示されています。

💡IDE

IDEとは統合開発環境(Integrated Development Environment)の略で、ソフトウェア開発に必要なツール群が統合された環境です。ビデオでは、テストコンテナがIDE内で動作し、開発者がローカル環境でテストを実行しフィードバックを得られるようになることが強調されています。

💡テストの反復性

テストの反復性とは、同じテストが同じ条件下で毎回同じ結果を出す性質です。ビデオでは、テストコンテナを使って開発者が自己完結型の反復可能なテストを実行できることが紹介されており、これは開発者が開発サイクルの早期段階で信頼性の高いテストを行うことができる点に重点が置かれています。

💡Testcontainers Cloud

Testcontainers Cloudは、テストコンテナが提供するクラウドソリューションで、開発者がローカル開発やCI環境で同じバックエンドを利用できるようにします。ビデオでは、EllieがTestcontainers Cloudを使ってテストセッションにアクセスし、データを含むコンテナに接続する方法をデモしています。

💡開発者満足度

開発者満足度は、開発者がソフトウェア開発プロセスを楽しんでおり、自信を持って仕事に取り組んでいることを示す指標です。ビデオでは、Dockerが開発者満足度を高めるために開発サイクルの早期段階でのテストとデバッグを重要視していることが強調されています。

Highlights

Shifting test left is a concept aimed at integrating testing earlier in the development cycle.

Docker focuses on giving developers confidence in their software early in the development process.

Developers can find issues faster and gain more confidence by testing early in their development loop.

Docker introduces Docker Debug, a new offering for debugging within containers.

Docker Debug provides a shell attached to a running container with tools for debugging.

Docker Debug can be used on stopped containers or images, unlike Docker Exec.

Testcontainers is an open-source library that allows developers to get real feedback in their IDE.

Testcontainers enables developers to perform functional testing without needing a staging environment.

Testcontainers can start a fresh SQL server for testing and remove it after the test is complete.

Testcontainers Cloud provides ephemeral resources on demand for consistent testing across environments.

Developers can connect to a Testcontainers Cloud session to see data inside a container.

Testcontainers supports over 10 languages and can test anything available as a container.

The Testcontainers catalog is open source with contributions from partners.

Docker Debug and Testcontainers are both available now for developers to try out.

Developers are interested in learning how to containerize legacy applications for efficiency.

Security is a key focus, treating dev/test environments as if they were production.

Feedback from developers has been positive, with excitement about the new tools and functionalities.

More information on Docker Debug and Testcontainers can be found on Docker's feature partners page.

Transcripts

play00:10

SPEAKER 1: [MUSIC] Hey,

play00:11

we're welcome back.

play00:12

We've got friends and demos,

play00:15

and we're talking about shifting test left.

play00:19

I've heard about shifting left.

play00:20

But now, we're going to talk about shifting test left.

play00:24

Try to say that ten times fast.

play00:26

I've got my friends Stephen and Ellie here from Docker.

play00:30

Love me some containers.

play00:32

I love me some Docker Whales.

play00:34

Doctor Eli Aleyner action.

play00:35

ELI ALEYNER: We're going

play00:36

to have some whales.

play00:37

Yes. Over here.

play00:37

SPEAKER 1: Are we? A t duty.

play00:40

To bring some with us.

play00:41

You bught

play00:42

some whales with you.

play00:43

Awesome. You're here

play00:45

to talk about shifting left, particularly with test.

play00:48

Let's demystify this a

play00:51

little bit and talk about what does that

play00:52

mean for developers from a Docker perspective.

play00:57

Excellent.

play00:58

For us a Docker,

play01:00

we are really big about giving developers

play01:03

confidence in the software that

play01:05

they write early in the development cycle.

play01:08

We often talk about all of the things developers do in

play01:12

the inner development loop

play01:14

as they're building, debugging,

play01:16

and testing their code in their IDE on their machine,

play01:21

even oftentimes before they

play01:23

check in their code into a Git repository.

play01:26

For us, getting developers more

play01:29

productive in the loop is very

play01:31

core to us because not only does it mean

play01:34

that you're finding issues faster,

play01:36

you're getting more confidence in what you're building.

play01:40

You're finding issues much earlier in

play01:43

the development cycle but also as engineers.

play01:47

What's really core to us is

play01:49

the satisfaction we get from building software and

play01:52

by being able to find issues

play01:54

and be more productive as we're developing,

play01:57

it actually makes your engineers

play01:59

and us as engineers happier.

play02:02

We're thrilled to show you today two things,

play02:05

two specific examples of how you were able to do yet

play02:09

more confidence in the software that you're

play02:11

writing early in your development cycle.

play02:14

We're

play02:15

fighting all this stuff

play02:16

out well before

play02:17

we run in into

play02:19

production and start falling over on things.

play02:21

That is correct.

play02:23

I heard there's demos.

play02:26

I'm only here for the demos, no offense.

play02:29

STEVEN NOVICK: Our first demo,

play02:30

we're going to talk about

play02:31

a new offering we have at Docker called Docker Debug.

play02:34

You can try Docker Debug out

play02:36

today in the latest versions of Docker Desktop.

play02:39

Here, I have a simple Python website running.

play02:42

It appears I might have

play02:44

forgotten to update it from last year.

play02:46

SPEAKER 1: It is not 2023, my friend.

play02:49

STEVEN NOVICK: No, it is not

play02:49

live in the time zone.

play02:52

The whales missing. I promise you whales.

play02:54

There's no whales. It says Walt gift there.

play02:57

No problem. We'll just

play02:58

go into the container. We'll do Docker.

play03:01

SPEAKER 1: Hang on. Wait.You're not

play03:04

doing Docker live on the demo, are you?

play03:06

STEVEN NOVICK: I am, because

play03:07

everybody's had such a pleasant experience with.

play03:09

SPEAKER 1: It is so easy

play03:11

to use, right everyone?

play03:13

Chat? You with me?

play03:14

STEVEN NOVICK: No. Of course, and, like,

play03:15

obviously, live on the demo.

play03:16

I forgot my shell. There we go.

play03:19

Now I'm in. No problem.

play03:20

I'm just going to open up the file. Wait.

play03:24

SPEAKER 1: Hang on.

play03:25

STEVEN NOVICK: Don't have Nano.

play03:26

No problem.

play03:27

Let's try VM.

play03:28

SPEAKER 1: Yeah, we're good.

play03:30

No, we're not good.

play03:31

STEVEN NOVICK: No.

play03:31

Let's see what's running with H Top.

play03:33

No, nothing there either.

play03:35

Here the problem, Joey.

play03:37

This is a slim container as most containers are today.

play03:40

The great thing about slim

play03:41

containers is they're great for security.

play03:43

They're great for your resource management

play03:45

because they strip out everything that's not needed.

play03:47

What they're not great for is

play03:49

debugging and trying to figure

play03:50

out when something's wrong because it

play03:51

doesn't have your applications.

play03:53

On it. No problem.

play03:54

That's why we develop Docker Debug.

play03:57

I'm just going to go into this. Too many keys here.

play04:05

SPEAKER 1: I can't type on demos

play04:08

live either. We go. It's all.

play04:09

STEVEN NOVICK: I'm in.

play04:10

What Docker Debug is,

play04:11

is a shell that's attached running Nick OS,

play04:14

and we can bring all our tools with

play04:16

us to whatever container we're going to,

play04:18

so you install a Tool 1, and it's there.

play04:20

Here I can see just by running HTp I

play04:23

see all my processes running in this container.

play04:26

You can run other common tools.

play04:28

But for now, I'm just going to go in and

play04:30

go in and edit this container. Here we go.

play04:33

Update the year, and I think I found the typo in

play04:37

my file and let's refresh. We have whales.

play04:42

We have whales. We have whales.

play04:44

SPEAKER 1: You promise. I promise.

play04:47

STEVEN NOVICK: As I mentioned

play04:49

lots of different tools.

play04:50

I'm just going to run simple library called Tree,

play04:57

I don't have it installed.

play04:58

No problem. We're just going to install this.

play05:00

Now, this is the magic of a live demo.

play05:03

This takes 15 and 20 seconds.

play05:05

SPEAKER 1: We're going

play05:05

to stand here and

play05:06

stare at each other awkwardly?

play05:08

STEVEN NOVICK: Very awkwardly. Talk about

play05:09

the pretty whale on the screen.

play05:11

But the beauty is once this is installed,

play05:14

whenever I run Docker Debug

play05:15

on any container, I have all the packages.

play05:17

Think of it as a tool kit.

play05:19

If you're an electrician going house to house,

play05:21

rather than relying on the tools that

play05:24

the person in the house has when you show up,

play05:26

you actually have your toolkit.

play05:28

You're comfortable using those tools every house you go.

play05:30

It makes you more efficient.

play05:31

Now I have this installed

play05:34

and my simple directory shows up.

play05:36

SPEAKER 1: Hey,

play05:37

let me ask you one quick question here.

play05:38

You said any container?

play05:40

What about container state,

play05:41

any of that stuff you have to think about those things?

play05:44

STEVEN NOVICK: That's a great point.

play05:46

One of the great things about Docker Debug

play05:48

is that unlike Docker Exec,

play05:50

which only runs on running containers,

play05:52

Docker Debug can actually go

play05:53

into a stop container or images.

play05:56

Let me show. We're going to stop this container really

play06:00

quick and click,

play06:04

there we go, "More live demo Magic".

play06:06

SPEAKER 1: We love it. It's all good.

play06:08

STEVEN NOVICK: There we go.

play06:09

It's stopped. We're going to click on

play06:11

the exact tab in Docker Desktop, and up.

play06:13

It's not working because it's not running.

play06:15

Right. All I'm going to do is flip on Debug mode. This,.

play06:19

SPEAKER 1: Wait.

play06:20

STEVEN NOVICK: Now I'm going to run that

play06:22

simple tool I just installed.

play06:24

It's running there on the stop container.

play06:26

I can run HTp see

play06:29

that nothing's running in the actual shell itself.

play06:31

I have access to the file.

play06:33

This is the magic of Docker Debug and so,

play06:36

anybody can try this out today on

play06:37

the latest versions of Docker desktop.

play06:39

SPEAKER 1: You also

play06:41

talked about not just

play06:41

stop but also the images itself?

play06:43

STEVEN NOVICK: You can run this

play06:43

directly on an image

play06:44

itself and go see the details of what's in the image.

play06:47

Very good.

play06:49

I'm going hand it over to Ellie,

play06:50

who's going to show us what we have in

play06:52

store with test containers. Excellent.

play06:54

SPEAKER 1: Pressures on, Ellie.

play06:55

I'm excited too. Stephen,

play06:58

talked to you about

play07:00

debugging and debugging in containers.

play07:03

But how do you get productivity even before you check

play07:06

in your code and before you are in a container,

play07:09

before you're running in a container.

play07:10

Today, I'm going to talk to you about

play07:13

library and open source library that we have

play07:16

that's called test containers and

play07:19

what test containers allows developers to

play07:21

do is it allows developers to get

play07:23

a real feedback right in the IDE,

play07:27

is they're they're building

play07:29

their software without the need for

play07:31

a staging environment or anything else.

play07:34

Today is you're building software.

play07:36

You can do unit testing in your local ITE,

play07:41

or you can go and depend on

play07:43

a staging environment after you check in your code.

play07:46

I'm going to show you something slightly

play07:48

different where you're able to get this feedback.

play07:51

Right in your inner loop and

play07:52

discover bugs as you go along.

play07:54

Test containers is an open source framework

play07:58

that's built in over 10 languages.

play08:00

Let me show you how it works. Let' take a look.

play08:04

ELI ALEYNER: What I have over here is I

play08:08

have weather application in.NET catering

play08:12

to the audience over here.

play08:14

Typically, in order to test an application,

play08:17

I would need to have SQL server running.

play08:19

I would need to manage it state.

play08:21

I would need to clean stuff in SQL server.

play08:25

SPEAKER 1: Sure.

play08:25

ELI ALEYNER: What I'm able to

play08:26

do over here is I'm

play08:27

able to say in code,

play08:30

hey, give me a Microsoft SQL container right here.

play08:35

Then what I'm able to do is I'm able to say, hey,

play08:38

okay, this is a functional test.

play08:42

It will start the application,

play08:44

it will hit the API,

play08:45

and it will check the number of

play08:47

results that it gets back.

play08:49

What I'm able to do without

play08:51

any setup with very little magic, almost none.

play08:56

I'm able to hit "Run" right in

play08:58

my IDE over here, and there we go.

play09:01

I'm doing the live demo over here.

play09:03

What happens under the covers

play09:05

is my application are starting.

play09:07

My application is bringing SQL server,

play09:10

starting a fresh SQL server.

play09:12

It will run the test against it,

play09:14

and when it's done, it

play09:16

will remove it and make it disappear.

play09:18

What it allows us to do it allows us to do

play09:22

self-contained item potent repeatable tests

play09:25

without depending on

play09:27

a staging environment or anything else.

play09:29

Let's see a live demo over here.

play09:31

Let's see what actually happens as

play09:34

we go along over here.

play09:35

SPEAKER 1: While that's running.

play09:38

There's no backend Cloud infrastructure.

play09:41

ELI ALEYNER: That is a little

play09:42

bit of a trick.

play09:43

There we go. Thank you.

play09:46

SPEAKER 1: I knew there was a catch.

play09:47

I got him right there.

play09:48

ELI ALEYNER: This runs perfectly locally.

play09:51

But in this particular instance,

play09:53

we're using an ephemeral Cloud solution

play09:55

called Testcontainers Cloud.

play09:57

Which allows us to have the same testing,

play10:00

regardless of whether I'm

play10:02

running on a windows, on a Mac,

play10:04

and whether I'm doing it in

play10:05

my local development or in a CI environment,

play10:08

I get absolutely the same backend

play10:10

and I get ephemeral resources on demand.

play10:13

If we go back to the demo over here, oh, wait.

play10:17

This was a test that was expecting

play10:19

seven days of results.

play10:22

The test actually wait,

play10:24

it shows that it was expecting eight.

play10:26

Actually, it was a test that

play10:29

was wrong in this particular instance.

play10:31

What I'm able to do over here,

play10:33

I'm able to fix the bug,

play10:35

and then instantly over here, click "Run" again,

play10:39

and it will do it over again and it will

play10:41

go and get it running as we go.

play10:44

Because you've talked a little bit

play10:46

about the fact that we're using run over here.

play10:49

If we're using the Cloud over here,

play10:52

what I'm able to do is I'm able

play10:54

to go into Testcontainers Cloud,

play10:57

and I'm able to see, oh,

play10:59

look, those are the sessions.

play11:01

Stephen over here, I'm logged in and

play11:03

Stephen is doing some testing.

play11:05

He's doing testing with SQL server.

play11:08

Here are the containers that are starting,

play11:10

and I'm able to connect to that session and see

play11:13

what's the data that's inside of that container.

play11:18

There we go. Connect terminal,

play11:20

and it will connect to that container

play11:22

in a second. There we go.

play11:24

I can do all the commands over here on the container.

play11:27

Let's go back to the IDE.

play11:30

Let's see the test results.

play11:32

There we go. My test has passed.

play11:34

SPEAKER 1: You've passed your test.

play11:35

ELI ALEYNER: There we go.

play11:35

SPEAKER 1: No need to

play11:36

take all of this,

play11:37

move it to another environment.

play11:39

It's all right there, and you haven't

play11:40

even left your IDE.

play11:41

ELI ALEYNER: I haven't left my IDE,

play11:44

as other check in their test,

play11:47

I'm able to clone the tests,

play11:50

and I'm able to hit "Run",

play11:52

and I'm able to get the same results

play11:54

because the test has

play11:56

everything it needs in order

play11:59

to test the functionality repeatedly.

play12:04

Testcontainers, just briefly,

play12:06

as I said, available in 10 languages.

play12:09

You can test anything that's available as a container,

play12:13

and we have a full suite

play12:15

of integration convenience methods,

play12:18

including a number of services in Azure,

play12:21

including Microsoft SQL Server as I've just demo

play12:25

and Kafka and many other partner integrations.

play12:32

SPEAKER 1: I would imagine that

play12:33

these modules are also growing,

play12:35

and people are bringing in things

play12:36

and expanding what's available here.

play12:39

ELI ALEYNER: Absolutely.

play12:39

The catalog over here is

play12:41

open source and we have

play12:43

partners who are contributing catalogs,

play12:45

and we have many partners who are taking ownership.

play12:48

Of those modules and becoming official modules as well.

play12:52

SPEAKER 1: Steven mentioned that

play12:53

the stuff that

play12:54

he was showing available now.

play12:56

The doctor debug stuff available now.

play12:59

How about Testcontainers?

play13:01

ELI ALEYNER: Testcontainers is available

play13:02

now as well.

play13:03

SPEAKER 1: Very good.

play13:04

ELI ALEYNER: It's been running out there,

play13:06

and very excited to have people try it and use it.

play13:09

SPEAKER 1: In just the couple

play13:10

of minutes that we

play13:10

have left, you've been around.

play13:12

You've been showing this to our developers,

play13:14

and some of them have been clapping along.

play13:16

What has been the sense of it? What is the feedback?

play13:19

What are you hearing from people as they

play13:21

see this like live and in person?

play13:23

STEVEN NOVICK: Yeah, we're hearing

play13:24

lots of people

play13:25

interested in learning more about containers,

play13:27

how they can containerize their legacy applications.

play13:29

Utilize Docker to make them more efficient.

play13:32

Shift left, bring more to the local environment.

play13:35

People who have tried out Docker Debug

play13:36

or seen it for the first time,

play13:38

blown away by how much time it's going to save them

play13:40

from figuring out how no pun intended debug exec.

play13:45

SPEAKER 1: **** exec.

play13:47

STEVEN NOVICK: Lots of excitement.

play13:48

ELI ALEYNER: Then on your side, to Ali,

play13:50

as an operations person myself,

play13:53

who look, we talked a lot about security today.

play13:57

We talk about going

play13:59

and finding all of these environments,

play14:00

and more importantly, treating

play14:02

your dev test environment as if it was production.

play14:06

This makes that even simpler.

play14:08

We're seeing people who come and talk to us are

play14:11

really fascinated by the ability

play14:14

to go and get realistic feedback and the tooling and

play14:17

the functionality that we're

play14:18

making available for developers.

play14:21

Those messages resonate and they're excited,

play14:24

and we're excited to see those products and

play14:28

those functionalities helping the lives of

play14:31

developers that get the user.

play14:33

If you want to find more about Testcontainers and

play14:36

Docker Debug and all the amazing things

play14:39

that you guys have been up to,

play14:40

and Docker head on over to

play14:42

the feature partners

play14:43

page on build.Microsoft.com,

play14:45

hit the little click down.

play14:46

Go to Docker and look

play14:48

at all of the things that they have.

play14:49

Go test their stuff and use it now,

play14:52

and then come back and tell us how awesome it was.

play14:54

Gentlemen, thank you so very much.

play14:56

STEVEN NOVICK: Thank you Joey.

play14:56

SPEAKER 1: We have more coming up,

play14:58

so don't go anywhere.

play14:59

Don't leave. Stay right here.

Rate This

5.0 / 5 (0 votes)

Related Tags
DockerTestcontainers開発効率バグ発見デバッグコンテナIDE統合CI環境セキュリティ開発ツール
Do you need a summary in English?