Skip to main content
replaced http://stackexchange.com/ with https://stackexchange.com/
Source Link

It's really hard to find what tools, libraries, automated testing, etc. are used by SE's team. Nothing has been posted officially on SE's main site. But, I did found few interesting posts, and a video that I would like to share here which covers few of the OP's question.

Reddit's 40-page long post "We keep Stack Exchange / Stack Overflow / Server Fault running - Ask us anything!" is by far the best post I ever read and all the comments/replies are given by SE's team members.

Here is what Nick CraverNick Craver said on Reddit user "andygrunwald" question:

How does your QA stack look like? Unit and integration tests plus User acceptance tests with selenium / BDD?

Teams differ here on testing. The Careers team actually runs unit tests for example, where Core does not. They used to run Selenium as well, but that was dropped a while ago as not being worth it to maintain. It's a running joke that if you really love TDD, you likely wouldn't be happy on the Core team :)

Here is what Geoff DalgasGeoff Dalgas says about "Our production build performs the following tasks:"

  • Compiles the code including minification of JS and stops if there are any build failures

  • Copies the new assemblies to two of our servers, these run our meta sites meta.stackexchange and meta.stackoverflow

  • Each server is removed from our load balancer one at a time which is controlled via haproxy.

  • Haproxy will ping each server as they come up to warm them and only put them back in rotation when they return a 200 response code.

  • After we have confirmed our new features are working on our meta tier we will then deploy to the rest of our network, including Stack Overflow.

  • We have monitor for our exceptions and follow a very important rule: A B C D E F (Always Be Checking after a Deploy for Exceptions or you're FIRED)

Video presentation of The architecture of StackOverflow by Marco Cecconi (@SklivvzSklivvz) at Developer Conference 2013 also talks about "tests" where he says: (extracted few quotes - listen to talk between 9:15 - 11:20 for more)

We don't have many tests. I'm not advocating that you shouldn't put in tests. [The reason we can get away with this] is that we have a great community. So instead of having automated test we have automated human tests.

The same video was posted on Y Combinator's HackerNews website where SE's Jason PunyonJason Punyon posted the below comment:

It's not that no one follows the norms or tests. On the Careers team we do much more automated testing because there's money and literally people's jobs at stake. We have unit tests, integration tests and UI tests that all run on every push. All the tests must succeed before a production build run is even possible.

There is also a comment on 'bug reports' from SklivvzSklivvz:

Remember that our community writes bug reports but also vets bug reports. We rarely have to deal with bad reports. Interestingly, large quantities of false negatives are a non-issue.

And, finally David HaneyDavid Haney's comment about Meta.SE posted under the OP's question:

This one, right here. :)

It's really hard to find what tools, libraries, automated testing, etc. are used by SE's team. Nothing has been posted officially on SE's main site. But, I did found few interesting posts, and a video that I would like to share here which covers few of the OP's question.

Reddit's 40-page long post "We keep Stack Exchange / Stack Overflow / Server Fault running - Ask us anything!" is by far the best post I ever read and all the comments/replies are given by SE's team members.

Here is what Nick Craver said on Reddit user "andygrunwald" question:

How does your QA stack look like? Unit and integration tests plus User acceptance tests with selenium / BDD?

Teams differ here on testing. The Careers team actually runs unit tests for example, where Core does not. They used to run Selenium as well, but that was dropped a while ago as not being worth it to maintain. It's a running joke that if you really love TDD, you likely wouldn't be happy on the Core team :)

Here is what Geoff Dalgas says about "Our production build performs the following tasks:"

  • Compiles the code including minification of JS and stops if there are any build failures

  • Copies the new assemblies to two of our servers, these run our meta sites meta.stackexchange and meta.stackoverflow

  • Each server is removed from our load balancer one at a time which is controlled via haproxy.

  • Haproxy will ping each server as they come up to warm them and only put them back in rotation when they return a 200 response code.

  • After we have confirmed our new features are working on our meta tier we will then deploy to the rest of our network, including Stack Overflow.

  • We have monitor for our exceptions and follow a very important rule: A B C D E F (Always Be Checking after a Deploy for Exceptions or you're FIRED)

Video presentation of The architecture of StackOverflow by Marco Cecconi (@Sklivvz) at Developer Conference 2013 also talks about "tests" where he says: (extracted few quotes - listen to talk between 9:15 - 11:20 for more)

We don't have many tests. I'm not advocating that you shouldn't put in tests. [The reason we can get away with this] is that we have a great community. So instead of having automated test we have automated human tests.

The same video was posted on Y Combinator's HackerNews website where SE's Jason Punyon posted the below comment:

It's not that no one follows the norms or tests. On the Careers team we do much more automated testing because there's money and literally people's jobs at stake. We have unit tests, integration tests and UI tests that all run on every push. All the tests must succeed before a production build run is even possible.

There is also a comment on 'bug reports' from Sklivvz:

Remember that our community writes bug reports but also vets bug reports. We rarely have to deal with bad reports. Interestingly, large quantities of false negatives are a non-issue.

And, finally David Haney's comment about Meta.SE posted under the OP's question:

This one, right here. :)

It's really hard to find what tools, libraries, automated testing, etc. are used by SE's team. Nothing has been posted officially on SE's main site. But, I did found few interesting posts, and a video that I would like to share here which covers few of the OP's question.

Reddit's 40-page long post "We keep Stack Exchange / Stack Overflow / Server Fault running - Ask us anything!" is by far the best post I ever read and all the comments/replies are given by SE's team members.

Here is what Nick Craver said on Reddit user "andygrunwald" question:

How does your QA stack look like? Unit and integration tests plus User acceptance tests with selenium / BDD?

Teams differ here on testing. The Careers team actually runs unit tests for example, where Core does not. They used to run Selenium as well, but that was dropped a while ago as not being worth it to maintain. It's a running joke that if you really love TDD, you likely wouldn't be happy on the Core team :)

Here is what Geoff Dalgas says about "Our production build performs the following tasks:"

  • Compiles the code including minification of JS and stops if there are any build failures

  • Copies the new assemblies to two of our servers, these run our meta sites meta.stackexchange and meta.stackoverflow

  • Each server is removed from our load balancer one at a time which is controlled via haproxy.

  • Haproxy will ping each server as they come up to warm them and only put them back in rotation when they return a 200 response code.

  • After we have confirmed our new features are working on our meta tier we will then deploy to the rest of our network, including Stack Overflow.

  • We have monitor for our exceptions and follow a very important rule: A B C D E F (Always Be Checking after a Deploy for Exceptions or you're FIRED)

Video presentation of The architecture of StackOverflow by Marco Cecconi (@Sklivvz) at Developer Conference 2013 also talks about "tests" where he says: (extracted few quotes - listen to talk between 9:15 - 11:20 for more)

We don't have many tests. I'm not advocating that you shouldn't put in tests. [The reason we can get away with this] is that we have a great community. So instead of having automated test we have automated human tests.

The same video was posted on Y Combinator's HackerNews website where SE's Jason Punyon posted the below comment:

It's not that no one follows the norms or tests. On the Careers team we do much more automated testing because there's money and literally people's jobs at stake. We have unit tests, integration tests and UI tests that all run on every push. All the tests must succeed before a production build run is even possible.

There is also a comment on 'bug reports' from Sklivvz:

Remember that our community writes bug reports but also vets bug reports. We rarely have to deal with bad reports. Interestingly, large quantities of false negatives are a non-issue.

And, finally David Haney's comment about Meta.SE posted under the OP's question:

This one, right here. :)

Video link correction
Source Link
HackerKarma
  • 6.2k
  • 2
  • 20
  • 44

It's really hard to find what tools, libraries, automated testing, etc. are used by SE's team. Nothing has been posted officially on SE's main site. But, I did found few interesting posts, and a video that I would like to share here which covers few of the OP's question.

Reddit's 40-page long post "We keep Stack Exchange / Stack Overflow / Server Fault running - Ask us anything!" is by far the best post I ever read and all the comments/replies are given by SE's team members.

Here is what Nick Craver said on Reddit user "andygrunwald" question:

How does your QA stack look like? Unit and integration tests plus User acceptance tests with selenium / BDD?

Teams differ here on testing. The Careers team actually runs unit tests for example, where Core does not. They used to run Selenium as well, but that was dropped a while ago as not being worth it to maintain. It's a running joke that if you really love TDD, you likely wouldn't be happy on the Core team :)

Here is what Geoff Dalgas says about "Our production build performs the following tasks:"

  • Compiles the code including minification of JS and stops if there are any build failures

  • Copies the new assemblies to two of our servers, these run our meta sites meta.stackexchange and meta.stackoverflow

  • Each server is removed from our load balancer one at a time which is controlled via haproxy.

  • Haproxy will ping each server as they come up to warm them and only put them back in rotation when they return a 200 response code.

  • After we have confirmed our new features are working on our meta tier we will then deploy to the rest of our network, including Stack Overflow.

  • We have monitor for our exceptions and follow a very important rule: A B C D E F (Always Be Checking after a Deploy for Exceptions or you're FIRED)

Video presentation of The architecture of StackOverflowThe architecture of StackOverflow by Marco Cecconi (@Sklivvz) at Developer Conference 2013 also talks about "tests" where he says: (extracted few quotes - listen to talk between 9:15 - 11:20 for moremore)

We don't have many tests. I'm not advocating that you shouldn't put in tests. [The reason we can get away with this] is that we have a great community. So instead of having automated test we have automated human tests.

The same video was posted on Y Combinator's HackerNews website where SE's Jason Punyon posted the below comment:

It's not that no one follows the norms or tests. On the Careers team we do much more automated testing because there's money and literally people's jobs at stake. We have unit tests, integration tests and UI tests that all run on every push. All the tests must succeed before a production build run is even possible.

There is also a comment on 'bug reports' from Sklivvz:

Remember that our community writes bug reports but also vets bug reports. We rarely have to deal with bad reports. Interestingly, large quantities of false negatives are a non-issue.

And, finally David Haney's comment about Meta.SE posted under the OP's question:

This one, right here. :)

It's really hard to find what tools, libraries, automated testing, etc. are used by SE's team. Nothing has been posted officially on SE's main site. But, I did found few interesting posts, and a video that I would like to share here which covers few of the OP's question.

Reddit's 40-page long post "We keep Stack Exchange / Stack Overflow / Server Fault running - Ask us anything!" is by far the best post I ever read and all the comments/replies are given by SE's team members.

Here is what Nick Craver said on Reddit user "andygrunwald" question:

How does your QA stack look like? Unit and integration tests plus User acceptance tests with selenium / BDD?

Teams differ here on testing. The Careers team actually runs unit tests for example, where Core does not. They used to run Selenium as well, but that was dropped a while ago as not being worth it to maintain. It's a running joke that if you really love TDD, you likely wouldn't be happy on the Core team :)

Here is what Geoff Dalgas says about "Our production build performs the following tasks:"

  • Compiles the code including minification of JS and stops if there are any build failures

  • Copies the new assemblies to two of our servers, these run our meta sites meta.stackexchange and meta.stackoverflow

  • Each server is removed from our load balancer one at a time which is controlled via haproxy.

  • Haproxy will ping each server as they come up to warm them and only put them back in rotation when they return a 200 response code.

  • After we have confirmed our new features are working on our meta tier we will then deploy to the rest of our network, including Stack Overflow.

  • We have monitor for our exceptions and follow a very important rule: A B C D E F (Always Be Checking after a Deploy for Exceptions or you're FIRED)

Video presentation of The architecture of StackOverflow by Marco Cecconi (@Sklivvz) at Developer Conference 2013 also talks about "tests" where he says: (extracted few quotes - listen to talk between 9:15 - 11:20 for more)

We don't have many tests. I'm not advocating that you shouldn't put in tests. [The reason we can get away with this] is that we have a great community. So instead of having automated test we have automated human tests.

The same video was posted on Y Combinator's HackerNews website where SE's Jason Punyon posted the below comment:

It's not that no one follows the norms or tests. On the Careers team we do much more automated testing because there's money and literally people's jobs at stake. We have unit tests, integration tests and UI tests that all run on every push. All the tests must succeed before a production build run is even possible.

There is also a comment on 'bug reports' from Sklivvz:

Remember that our community writes bug reports but also vets bug reports. We rarely have to deal with bad reports. Interestingly, large quantities of false negatives are a non-issue.

And, finally David Haney's comment about Meta.SE posted under the OP's question:

This one, right here. :)

It's really hard to find what tools, libraries, automated testing, etc. are used by SE's team. Nothing has been posted officially on SE's main site. But, I did found few interesting posts, and a video that I would like to share here which covers few of the OP's question.

Reddit's 40-page long post "We keep Stack Exchange / Stack Overflow / Server Fault running - Ask us anything!" is by far the best post I ever read and all the comments/replies are given by SE's team members.

Here is what Nick Craver said on Reddit user "andygrunwald" question:

How does your QA stack look like? Unit and integration tests plus User acceptance tests with selenium / BDD?

Teams differ here on testing. The Careers team actually runs unit tests for example, where Core does not. They used to run Selenium as well, but that was dropped a while ago as not being worth it to maintain. It's a running joke that if you really love TDD, you likely wouldn't be happy on the Core team :)

Here is what Geoff Dalgas says about "Our production build performs the following tasks:"

  • Compiles the code including minification of JS and stops if there are any build failures

  • Copies the new assemblies to two of our servers, these run our meta sites meta.stackexchange and meta.stackoverflow

  • Each server is removed from our load balancer one at a time which is controlled via haproxy.

  • Haproxy will ping each server as they come up to warm them and only put them back in rotation when they return a 200 response code.

  • After we have confirmed our new features are working on our meta tier we will then deploy to the rest of our network, including Stack Overflow.

  • We have monitor for our exceptions and follow a very important rule: A B C D E F (Always Be Checking after a Deploy for Exceptions or you're FIRED)

Video presentation of The architecture of StackOverflow by Marco Cecconi (@Sklivvz) at Developer Conference 2013 also talks about "tests" where he says: (extracted few quotes - listen to talk between 9:15 - 11:20 for more)

We don't have many tests. I'm not advocating that you shouldn't put in tests. [The reason we can get away with this] is that we have a great community. So instead of having automated test we have automated human tests.

The same video was posted on Y Combinator's HackerNews website where SE's Jason Punyon posted the below comment:

It's not that no one follows the norms or tests. On the Careers team we do much more automated testing because there's money and literally people's jobs at stake. We have unit tests, integration tests and UI tests that all run on every push. All the tests must succeed before a production build run is even possible.

There is also a comment on 'bug reports' from Sklivvz:

Remember that our community writes bug reports but also vets bug reports. We rarely have to deal with bad reports. Interestingly, large quantities of false negatives are a non-issue.

And, finally David Haney's comment about Meta.SE posted under the OP's question:

This one, right here. :)

Bounty Ended with 100 reputation awarded by Shadow Wizard
added note on Sklivvz comment
Source Link
HackerKarma
  • 6.2k
  • 2
  • 20
  • 44

It's really hard to find what tools, libraries, automated testing, etc. are used by SE's team. Nothing has been posted officially on SE's main site. But, I did found few interesting posts, and a video that I would like to share here which covers few of the OP's question.

Reddit's 40-page long post "We keep Stack Exchange / Stack Overflow / Server Fault running - Ask us anything!" is by far the best post I ever read and all the comments/replies are given by SE's team members.

Here is what Nick Craver said on Reddit user "andygrunwald" question:

How does your QA stack look like? Unit and integration tests plus User acceptance tests with selenium / BDD?

Teams differ here on testing. The Careers team actually runs unit tests for example, where Core does not. They used to run Selenium as well, but that was dropped a while ago as not being worth it to maintain. It's a running joke that if you really love TDD, you likely wouldn't be happy on the Core team :)

Here is what Geoff Dalgas says about "Our production build performs the following tasks:"

  • Compiles the code including minification of JS and stops if there are any build failures

  • Copies the new assemblies to two of our servers, these run our meta sites meta.stackexchange and meta.stackoverflow

  • Each server is removed from our load balancer one at a time which is controlled via haproxy.

  • Haproxy will ping each server as they come up to warm them and only put them back in rotation when they return a 200 response code.

  • After we have confirmed our new features are working on our meta tier we will then deploy to the rest of our network, including Stack Overflow.

  • We have monitor for our exceptions and follow a very important rule: A B C D E F (Always Be Checking after a Deploy for Exceptions or you're FIRED)

Video presentation of The architecture of StackOverflow by Marco Cecconi (@Sklivvz) at Developer Conference 2013 also talks about "tests" where he says: (extracted few quotes - listen to talk between 9:15 - 11:20 for more)

We don't have many tests. I'm not advocating that you shouldn't put in tests. [The reason we can get away with this] is that we have a great community. So instead of having automated test we have automated human tests.

The same video was posted on Y Combinator's HackerNews website where SE's Jason Punyon posted the below comment:

It's not that no one follows the norms or tests. On the Careers team we do much more automated testing because there's money and literally people's jobs at stake. We have unit tests, integration tests and UI tests that all run on every push. All the tests must succeed before a production build run is even possible.

There is also a comment on 'bug reports' from Sklivvz:

Remember that our community writes bug reports but also vets bug reports. We rarely have to deal with bad reports. Interestingly, large quantities of false negatives are a non-issue.

And, finally David Haney's comment about Meta.SE posted under the OP's question:

This one, right here. :)

It's really hard to find what tools, libraries, automated testing, etc. are used by SE's team. Nothing has been posted officially on SE's main site. But, I did found few interesting posts, and a video that I would like to share here which covers few of the OP's question.

Reddit's 40-page long post "We keep Stack Exchange / Stack Overflow / Server Fault running - Ask us anything!" is by far the best post I ever read and all the comments/replies are given by SE's team members.

Here is what Nick Craver said on Reddit user "andygrunwald" question:

How does your QA stack look like? Unit and integration tests plus User acceptance tests with selenium / BDD?

Teams differ here on testing. The Careers team actually runs unit tests for example, where Core does not. They used to run Selenium as well, but that was dropped a while ago as not being worth it to maintain. It's a running joke that if you really love TDD, you likely wouldn't be happy on the Core team :)

Here is what Geoff Dalgas says about "Our production build performs the following tasks:"

  • Compiles the code including minification of JS and stops if there are any build failures

  • Copies the new assemblies to two of our servers, these run our meta sites meta.stackexchange and meta.stackoverflow

  • Each server is removed from our load balancer one at a time which is controlled via haproxy.

  • Haproxy will ping each server as they come up to warm them and only put them back in rotation when they return a 200 response code.

  • After we have confirmed our new features are working on our meta tier we will then deploy to the rest of our network, including Stack Overflow.

  • We have monitor for our exceptions and follow a very important rule: A B C D E F (Always Be Checking after a Deploy for Exceptions or you're FIRED)

Video presentation of The architecture of StackOverflow by Marco Cecconi (@Sklivvz) at Developer Conference 2013 also talks about "tests" where he says: (extracted few quotes - listen to talk between 9:15 - 11:20 for more)

We don't have many tests. I'm not advocating that you shouldn't put in tests. [The reason we can get away with this] is that we have a great community. So instead of having automated test we have automated human tests.

The same video was posted on HackerNews where SE's Jason Punyon posted the below comment:

It's not that no one follows the norms or tests. On the Careers team we do much more automated testing because there's money and literally people's jobs at stake. We have unit tests, integration tests and UI tests that all run on every push. All the tests must succeed before a production build run is even possible.

And, finally David Haney's comment about Meta.SE posted under the OP's question:

This one, right here. :)

It's really hard to find what tools, libraries, automated testing, etc. are used by SE's team. Nothing has been posted officially on SE's main site. But, I did found few interesting posts, and a video that I would like to share here which covers few of the OP's question.

Reddit's 40-page long post "We keep Stack Exchange / Stack Overflow / Server Fault running - Ask us anything!" is by far the best post I ever read and all the comments/replies are given by SE's team members.

Here is what Nick Craver said on Reddit user "andygrunwald" question:

How does your QA stack look like? Unit and integration tests plus User acceptance tests with selenium / BDD?

Teams differ here on testing. The Careers team actually runs unit tests for example, where Core does not. They used to run Selenium as well, but that was dropped a while ago as not being worth it to maintain. It's a running joke that if you really love TDD, you likely wouldn't be happy on the Core team :)

Here is what Geoff Dalgas says about "Our production build performs the following tasks:"

  • Compiles the code including minification of JS and stops if there are any build failures

  • Copies the new assemblies to two of our servers, these run our meta sites meta.stackexchange and meta.stackoverflow

  • Each server is removed from our load balancer one at a time which is controlled via haproxy.

  • Haproxy will ping each server as they come up to warm them and only put them back in rotation when they return a 200 response code.

  • After we have confirmed our new features are working on our meta tier we will then deploy to the rest of our network, including Stack Overflow.

  • We have monitor for our exceptions and follow a very important rule: A B C D E F (Always Be Checking after a Deploy for Exceptions or you're FIRED)

Video presentation of The architecture of StackOverflow by Marco Cecconi (@Sklivvz) at Developer Conference 2013 also talks about "tests" where he says: (extracted few quotes - listen to talk between 9:15 - 11:20 for more)

We don't have many tests. I'm not advocating that you shouldn't put in tests. [The reason we can get away with this] is that we have a great community. So instead of having automated test we have automated human tests.

The same video was posted on Y Combinator's HackerNews website where SE's Jason Punyon posted the below comment:

It's not that no one follows the norms or tests. On the Careers team we do much more automated testing because there's money and literally people's jobs at stake. We have unit tests, integration tests and UI tests that all run on every push. All the tests must succeed before a production build run is even possible.

There is also a comment on 'bug reports' from Sklivvz:

Remember that our community writes bug reports but also vets bug reports. We rarely have to deal with bad reports. Interestingly, large quantities of false negatives are a non-issue.

And, finally David Haney's comment about Meta.SE posted under the OP's question:

This one, right here. :)

added more sources about "tests"
Source Link
HackerKarma
  • 6.2k
  • 2
  • 20
  • 44
Loading
added SE's team members network profile links
Source Link
HackerKarma
  • 6.2k
  • 2
  • 20
  • 44
Loading
Source Link
HackerKarma
  • 6.2k
  • 2
  • 20
  • 44
Loading