我的开发环境是否反映了用户的环境?

时间:2021-08-14 23:31:04

I am trying to get a better idea on this as so far I have had mixed answers in person.

我试图对此有一个更好的想法,因为到目前为止,我已经有了混合的答案。

I am a solo dev in a 5 man IT dept for a Health Care related business. My developer machine is running Win 7 RC1 (x64) but my users are all running Win XP Pro (x86). Is this a big deal? Whan kind of pitfalls should I be aware of? Is having a VM of the user image enough?

我是医疗保健相关业务的5人IT部门的独立开发人员。我的开发人员机器正在运行Win 7 RC1(x64),但我的用户都在运行Win XP Pro(x86)。这是一个大问题吗?我应该注意到哪种陷阱?拥有用户图像的VM足够吗?

Should my environment completely mirror my end user's?

我的环境应该完全反映我的最终用户吗?

6 个解决方案

#1


Your development environment doesn't need to mirror your user's environment, but your testing environment certainly should!

您的开发环境不需要镜像您的用户环境,但您的测试环境当然应该!

Having a VM of the users image for testing would probably be good enough.

拥有用户图像的VM进行测试可能就足够了。

#2


First and foremost, as a developer, your machine will never look like your client's machine. Just accept that.

首先,作为开发人员,您的机器永远不会像您客户的机器。接受这个。

You will have tools and utilities installed that they won't have. That will fundamentally change the configuration of your machine from the outset. You have DLLs, applications, services, and possibly drivers installed that your users have never even heard of (and likely never will).

您将安装他们不具备的工具和实用程序。这将从根本上改变您的机器配置。您已经安装了DLL,应用程序,服务和可能的驱动程序,您的用户从未听说过(可能永远不会)。

As far as the OS is concerned, Win7 and WinXP, despite claims to the contrary, are not the same animal. Don't believe the hype. Having said that, don't believe the anti-hype, either. Just be aware, as you well should, that any piece of software developed under one version of an OS is not guaranteed to behave the same way under another.

就操作系统而言,尽管声称相反,Win7和WinXP并不是同一种动物。不要相信炒作。话虽如此,也不要相信反炒作。请注意,正如您应该的那样,在一个版本的操作系统下开发的任何软件都不能保证在另一个版本下的行为方式相同。

The short of it: Yes, it's important that your environment is different. Should you panic about it? No. Should you account for it in testing? Absolutely. As rigorously as possible.

缺点:是的,你的环境不同是很重要的。你应该对此感到恐慌吗?不,你应该在测试中考虑到它吗?绝对。尽可能严格。

#3


Is this a big deal?

这是一个大问题吗?

Yes, it is. You have an OS 2 generations ahead of the one the users have, including you are running a non-release version.

是的。您拥有的操作系​​统比用户拥有的操作系​​统早2代,包括您运行的是非发布版本。

Whan kind of pitfalls should I be aware of?

我应该注意到哪种陷阱?

Depends on what you are developing. Some libraries may be missing that you already have, then the versions may be different etc.

取决于你正在开发什么。您可能缺少某些库,但版本可能不同等。

Should my environment completely mirror my end user's?

我的环境应该完全反映我的最终用户吗?

Not necessarily, but you definitely need to have a testing environment that corresponds to the one the users have.

不一定,但你肯定需要一个与用户拥有的测试环境相对应的测试环境。

If you were developing web applications, all that would not have been an issue (well, unless you used some fancy fonts that are not present in a clean OS by default).

如果您正在开发Web应用程序,那么所有这些都不是问题(除非您使用默认情况下不存在于干净操作系统中的某些花哨字体)。

#4


Its unreasonable to develop on exactly the same type of system as your users. If nothing else, your life is made much easier by installing all sorts of developer tools your end users have no reason to install. I hear Visual Studio in particular likes to squirrel a number of potential dependencies onto a system.

与用户完全相同的系统开发是不合理的。如果不出意外,通过安装最终用户没有理由安装的各种开发人员工具,您的生活将变得更加轻松。我听说Visual Studio特别喜欢将一些潜在的依赖项放到系统上。

However, you do need to test on a system more inline with that of your end users. If you have access to an image of such a system, your VM approach should be sufficient. If nothing else, you should try for a staged (or better yet, beta/trial) release so as to avoid pushing a completely broken app out the door.

但是,您确实需要在系统上测试更符合最终用户的系统。如果您可以访问此类系统的映像,则VM方法应该足够了。如果没有别的,你应该尝试上演(或更好的,测试版/试用版),以避免将完全破坏的应用程序推出门外。

In short, don't fret about the development environment but put some thought into your testing one!

简而言之,不要担心开发环境,而是考虑一下你的测试!

#5


It's effectively impossible for any two machines to be set up the same, so development and production environments will always be different. One advantage in them being VERY different is that you will be more aware of possible deployment problems.

任何两台机器都不可能设置相同,因此开发和生产环境总是不同的。它们非常不同的一个优点是您将更加了解可能的部署问题。

#6


The type of environment that you need to use for testing entirely depends on what you're developing.

您需要用于测试的环境类型完全取决于您正在开发的内容。

If you're writing web applications, having a VM with the user's standard image should be more than enough (just make sure the VM contains all the browsers your users might be using). Web development is much easier in this respect (I'm also running Windows 7 and have a couple VMs to test various environments)

如果您正在编写Web应用程序,那么使用具有用户标准映像的VM应该足够了(只需确保VM包含您的用户可能正在使用的所有浏览器)。在这方面,Web开发要容易得多(我还运行Windows 7,并有几个虚拟机来测试各种环境)

If you're writing a full desktop environment, you'll probably want to ask for a second computer that you can test on (even if just to test before a final release). I say that because of differences in hardware. Just imagine if something runs fine for you, but slows down the users computer so that everything else is unusable. Opposite of that, you might spend hours trying to make something faster in the VM whereas running that on a users computer might run just fine.

如果您正在编写一个完整的桌面环境,您可能想要一台可以测试的第二台计算机(即使只是在最终版本之前进行测试)。我说是因为硬件的差异。试想一下,如果某些东西适合您,但会降低用户计算机的速度,以免其他一切无法使用。与此相反,您可能需要花费数小时尝试在VM中更快地创建更快的内容,而在用户计算机上运行它可能会运行得很好。

#1


Your development environment doesn't need to mirror your user's environment, but your testing environment certainly should!

您的开发环境不需要镜像您的用户环境,但您的测试环境当然应该!

Having a VM of the users image for testing would probably be good enough.

拥有用户图像的VM进行测试可能就足够了。

#2


First and foremost, as a developer, your machine will never look like your client's machine. Just accept that.

首先,作为开发人员,您的机器永远不会像您客户的机器。接受这个。

You will have tools and utilities installed that they won't have. That will fundamentally change the configuration of your machine from the outset. You have DLLs, applications, services, and possibly drivers installed that your users have never even heard of (and likely never will).

您将安装他们不具备的工具和实用程序。这将从根本上改变您的机器配置。您已经安装了DLL,应用程序,服务和可能的驱动程序,您的用户从未听说过(可能永远不会)。

As far as the OS is concerned, Win7 and WinXP, despite claims to the contrary, are not the same animal. Don't believe the hype. Having said that, don't believe the anti-hype, either. Just be aware, as you well should, that any piece of software developed under one version of an OS is not guaranteed to behave the same way under another.

就操作系统而言,尽管声称相反,Win7和WinXP并不是同一种动物。不要相信炒作。话虽如此,也不要相信反炒作。请注意,正如您应该的那样,在一个版本的操作系统下开发的任何软件都不能保证在另一个版本下的行为方式相同。

The short of it: Yes, it's important that your environment is different. Should you panic about it? No. Should you account for it in testing? Absolutely. As rigorously as possible.

缺点:是的,你的环境不同是很重要的。你应该对此感到恐慌吗?不,你应该在测试中考虑到它吗?绝对。尽可能严格。

#3


Is this a big deal?

这是一个大问题吗?

Yes, it is. You have an OS 2 generations ahead of the one the users have, including you are running a non-release version.

是的。您拥有的操作系​​统比用户拥有的操作系​​统早2代,包括您运行的是非发布版本。

Whan kind of pitfalls should I be aware of?

我应该注意到哪种陷阱?

Depends on what you are developing. Some libraries may be missing that you already have, then the versions may be different etc.

取决于你正在开发什么。您可能缺少某些库,但版本可能不同等。

Should my environment completely mirror my end user's?

我的环境应该完全反映我的最终用户吗?

Not necessarily, but you definitely need to have a testing environment that corresponds to the one the users have.

不一定,但你肯定需要一个与用户拥有的测试环境相对应的测试环境。

If you were developing web applications, all that would not have been an issue (well, unless you used some fancy fonts that are not present in a clean OS by default).

如果您正在开发Web应用程序,那么所有这些都不是问题(除非您使用默认情况下不存在于干净操作系统中的某些花哨字体)。

#4


Its unreasonable to develop on exactly the same type of system as your users. If nothing else, your life is made much easier by installing all sorts of developer tools your end users have no reason to install. I hear Visual Studio in particular likes to squirrel a number of potential dependencies onto a system.

与用户完全相同的系统开发是不合理的。如果不出意外,通过安装最终用户没有理由安装的各种开发人员工具,您的生活将变得更加轻松。我听说Visual Studio特别喜欢将一些潜在的依赖项放到系统上。

However, you do need to test on a system more inline with that of your end users. If you have access to an image of such a system, your VM approach should be sufficient. If nothing else, you should try for a staged (or better yet, beta/trial) release so as to avoid pushing a completely broken app out the door.

但是,您确实需要在系统上测试更符合最终用户的系统。如果您可以访问此类系统的映像,则VM方法应该足够了。如果没有别的,你应该尝试上演(或更好的,测试版/试用版),以避免将完全破坏的应用程序推出门外。

In short, don't fret about the development environment but put some thought into your testing one!

简而言之,不要担心开发环境,而是考虑一下你的测试!

#5


It's effectively impossible for any two machines to be set up the same, so development and production environments will always be different. One advantage in them being VERY different is that you will be more aware of possible deployment problems.

任何两台机器都不可能设置相同,因此开发和生产环境总是不同的。它们非常不同的一个优点是您将更加了解可能的部署问题。

#6


The type of environment that you need to use for testing entirely depends on what you're developing.

您需要用于测试的环境类型完全取决于您正在开发的内容。

If you're writing web applications, having a VM with the user's standard image should be more than enough (just make sure the VM contains all the browsers your users might be using). Web development is much easier in this respect (I'm also running Windows 7 and have a couple VMs to test various environments)

如果您正在编写Web应用程序,那么使用具有用户标准映像的VM应该足够了(只需确保VM包含您的用户可能正在使用的所有浏览器)。在这方面,Web开发要容易得多(我还运行Windows 7,并有几个虚拟机来测试各种环境)

If you're writing a full desktop environment, you'll probably want to ask for a second computer that you can test on (even if just to test before a final release). I say that because of differences in hardware. Just imagine if something runs fine for you, but slows down the users computer so that everything else is unusable. Opposite of that, you might spend hours trying to make something faster in the VM whereas running that on a users computer might run just fine.

如果您正在编写一个完整的桌面环境,您可能想要一台可以测试的第二台计算机(即使只是在最终版本之前进行测试)。我说是因为硬件的差异。试想一下,如果某些东西适合您,但会降低用户计算机的速度,以免其他一切无法使用。与此相反,您可能需要花费数小时尝试在VM中更快地创建更快的内容,而在用户计算机上运行它可能会运行得很好。