1) Segfaults (or otherwise "crashes") 2) Blows up in time or space (poor algorithm choice, or just plain old necessity. Some problems really do require slow/big algorithms) 3) Doesn't meet spec.
Actually there is only ONE such way -- does not meet spec. The rest you have mentioned are in a subset of it.
Guess what: any software that doesn't do any of these is right. You don't have to know C to write software that doesn't do these.
Only if you are writing toy projects at school -- because those things run in vacuum, without interfaces with other software or hardware.
That's like suggesting that a good song cannot be written without understanding music theory (which is quite untrue). Knowing the fundamentals is useful, but not at all required.
That's because stupidly written song is still an acceptable form of a song -- you can't be wrong in art.
Software (or any form of engineering) does not work that way -- if you are wrong, you are wrong and your product is broken, no matter how beautiful and clever you (or anyone) think it is.
That's what you do if your car for some insane (and likely impossible in reality) reason accelerates by itself.
If your car is actually out of control, that is, sliding and not responding to steering and brakes, the last thing you need is locked up brakes or ramming a guard rail at 45 degrees angle.
I'm just saying that you need to be clear in what was changed. If the change could be effectively covered with 100 testcases, but your description of the fix is so vague that QA ends up testing 1000 variations, that's a lot of time that could have been better spent on other projects.
No.
At QA level all changes are equal. Some places' policies wisely demand that developer should never tell a QA tester what was changed. in his code -- only what, if any, changed in the specification that he is supposed to comply with.
At my company, the changes in every development log need to be clearly documented for 3 reasons: 1) Future reference, so if that code isn't touched again for years, people can figure out how its supposed to work without reading the code.
Changes should be documented, but only for developers, users and support. QA should look there only after finding no apparent changes in behavior.
2) So QA knows what to test (if there are no instructions, QA will mark it DOA) and 3) So the documentation team can properly document the changes.
QA should ALWAYS test EVERYTHING. No exceptions. No untested code should ever be in a release version.
The QA at your company may simply be grunts, but at some companies (like mine) they are just as much of functionality experts as the developers, often more so.
QA people should not be "grunts", they should be able to develop and perform tests that cover all specified behavior of the product, and provide readable reports of everything that does not work as specified, or specified in a way that does not make sense. Developer then may find out that specification is wrong -- and fixing specification is often more important than fixing code.
Our testing is done manually (no automated tool we've tried has come close to doing it as well without taking 10 times longer to do).
This is stupid. If no automated tool helps you, you are supposed to develop one. Or ask developer to develop it.
Also, I'm working in HIT, so in some areas bugs really aren't acceptable at any level, even if obscure, if it could result in someone being physically harmed.
If so, how dare you not to test everything? Any bug in code potentially can change anything visible -- it's correct behavior that is predictable. One of the most obscure bugs that I have seen was found when the order of initialization of static objects was changed -- entirely without any intervention of a programmer, by a whim of compiler reacting to completely unrelated changes. It would be never noticed with testers like you, and likely the order-dependent assumptions would cause more obscure bugs later.
Our developers do testing as part of their process, and all new development is also receives at least two passes of code review,
You can't have more than one pass of code review unless you have two independent teams of developers. If you have reviews, all code can be only reviewed once.
but plenty of bugs still get through to QA because there are potentially thousands of variations.
Thousands??? How about millions? Have you ever tried to build a state machine for UI -- any UI??? How about things like memory/resource leaks, program state, race conditions, reaction to invalid input and communication errors?
This is why you need both manual functionality tests and automated test sequences. Often it is important to determine that program size in memory does not change after thousands of files being opened and closed, or that program remains accessible over the network after connecting 300 clients and disconnecting them in random order.
Now the OP didn't state what sort of company he's working at, but depending on the type of software it is, and their internal processes, being on QAs good side can be important.
That's like asking a lawyer to be on the opposing lawyers' good side.
Software developers are NEVER on the clock, as they are salaried employees.
This doesn't change the fact that it's usually necessary to work at the hours when other people are working, so you can communicate with them, participate in meetings, etc.
QA is not for running developers' internal tests -- developer has to do that by himself if he developed them in the first place. QA has to develop tests based on the same specification, but it should be done independently from developers, so mis-implementations and wrong behavior in the corner cases will have greater chance of being found. My worst experience with QA was when QA followed the test strategy given by another product's developers -- they glossed over all inconsistencies in real-world behavior, so countless bugs were filed for my product being "wrong" in scenarios that actually called for that kind of (granted, weird-looking) output, but were usable for testing other product. Specifications? Studying the subject area related to actual use of the product? That's not for those people, they write scripts that push buttons and simulate requests.
QA can ask a developer to help them with the testing tools, or to review the tests, however it's insane to insist that a developer will write your test for you in English so your job will be reduced to translating those instructions into whatever shitty language you use to run those tests. Developer is BETTER at writing those things in a programming language than at explaining them to you in the first place, so if those "tests" were truly necessary, he would do them better without you. He does (or at least should do) unit tests and overall product tests as a part of the development process -- your task is to go beyond that, and create another -- however thin -- barrier between bugs that he overlooked and released product.
Space robots were the only thing funny that came from Lowtax, and NASA is remaking it......well, maybe the only funny thing other than being beaten up by Uwe Boll. NASA can't be beaten up by Uwe Boll, can it?
Who gets to decide what is "blatant overwhelming streams of commercial speech and propaganda"?
Who decides that a country needs military? Who gets to decide that a person can no longer be owned by another person? Your own society redefines things mentioned in your Constitution all the time without bothering to scribble on its fragile pages.
It is arrogance to think that you are smarter and more knowledgeable than the rest of humanity. It falls into the "I could fix all the worlds problems if they would just make me king for a day."
No, it's arrogance to present a current version of political system of one, nearly universally hated country as something backed by "the rest of humanity".
In particular matter of things you have in your Constitution, this is the reason why most countries do not guarantee absolute supremacy of some narrowly set of rules over all laws and actions of the government -- because people do not want to become victims of a tiny loophole that grows into an all-overriding rule few hundred years after being written. Basically, "this is why we can't have nice things" on the scale of a political system.
By redefining "free speech" as to exclude blatant overwhelming streams of commercial speech and propaganda.
If you (Americans) can't do that, I am afraid, you will have to abandon "free speech" or accept that the whole role of speech -- be it political or otherwise is hopelessly subverted.
American military believes that it's always good to collect loads and loads of unprocessed information, and then dump it up the chain of command. Video feeds, reports, observation from absolutely everything that observes, interception of everything that can intercepted -- no one on the ground (or in the air) is good enough to handle it, it all has to go up to the highest level.
Then people are surprised that crucial information is lost in this unstoppable torrent of shit, all high-level decisions are made based wishful thinking, and all low-level decisions are based on prejudice.
Good job, control freaks -- now build a monitor into a contact lens and give it to Obama. Maybe he will accidentally stop the next attack on journalists or something.
Most people that clean toilets don't just clean toilets. It's just part of their cleaning duties. The rest of the duties (cleaning the office, taking out the garbage, etc.) would probably be too difficult for a robot with our current technology.
The whole point is to develop new technology. It's not even difficult -- just all efforts are directed toward entertainment instead of automating work that people don't like.
Because the government spends it's money on weapons (which isn't the only thing the military spends its money on)..you are forced to program for the entertainment industry? wow, I don't think I've seen a post this delusional on Slashdot in awhile.
If government paid me instead, I would work on robots and produce useful results. Certainly with more misery avoided per dollar than spending it all on things that blow other things up.
Ever hear of unions? Many unions have prevented companies from automating many jobs. Many people don't have the skills to get a better job. By keeping these positions around (and not using robots), we giving more people an opportunity to make a living.
No union would keep anyone from automating anything if people who will be out of the job would still have guaranteed living condition and food. There is enough resources to provide for everyone, including myself, and I would be still productive just because I am an engineer and therefore want to do engineering. Former janitors won't do any work? Who cares -- work is being done anyway, and people are just living modest lives.
But nooooo, American society can't have that -- people MUST FEEL PAIN if they don't work, even if their work can be easily made unnecessary. This study just demonstrates how fundamentally wrong the core of this ideology is.
The problem here is your entitlement.
Why? Because I won't be in danger? This is what you all are afraid -- that a person who produces something new will just live modest life, not fear for his future and produce more than he can ever consume?
If you really want robots to start cleaning our toilets, create a company and start selling them (or give them away). You do have the freedom to do this in the US.
First and foremost, technology startups have an extremely high failure rates -- most of them disappear before anyone can expect any outcome of initial R&D, so it's not just because of incompetence. I would have better chance to survive by gambling.
Second, building robots that replace people doing menial jobs is not profitable -- it's helpful for the whole society, and only if society makes commitment to use freed resources to provide decent living conditions to all its members -- working and non-working alike. While it's perfectly rational, as everyone is happier in the end, (I guess, except for sadists who want to see suffering around them), and total productivity is up, Hell would freeze over before Americans, or US government, will support such an act.
My current theory is that US culture and ideology grew out of the idea that causing others' suffering is more enjoyable than anything else -- basically it was hijacked by sociopaths, and healthy people are indoctrinated with this view even though they do not genuinely enjoy power and causing pain to others. After all, it's easy to tell someone who lacks power that such power is desirable -- he has no means to verify it, and ends up lusting after something he can't enjoy.
This explains plenty in your history -- from persistent support for slavery to pointless use of excessive bombing in WWII to unusually high popularity of S&M in porn, to tolerance of advertisements that are designed to foster feelings of inadequacy.
But when that objective cannot be met at certain times, the clear objective is to SURVIVE.
Why?
If people in control of the business can easily move elsewhere, they are not interested in survival of that business. The situation would be different if there was a real possibility that after the failure of the business former employees would kill their former management that orchestrated this failure, however that would be something from a CIVILIZED society, not sociopath's paradise that is modern US.
However I have plenty of desire, and ability, to develop cheap and flexible robots that would be able to easily replace all toilet cleaners in the world. The problem is, people in power are satisfied with toilets being cleaned by desperate poor people, and have other aspirations. So instead of paying me for robots (or just providing me along with would-be toilet cleaners, with free decent living conditions -- I am not that picky), government spends money on weapons, and my electronics/programming work has to be limited to entertainment industry, or I would not be able to pay for my food and shelter.
The problem is not with me, toilets or people's motivation, it's with society that is controlled by those who want to hurt and humiliate the poor under the guise of motivation.
You are assuming that those 309 million approve, which is not the case.
Yes, you all do.
As long as you claim that your country is democratic, you accept the role of originator of all decisions made on your behalf by your rulers. The rest of the world admits that all governments are at large extent tyrannical, and does not engage in patriotic crap like you do.
Note the fact that it's illegal in Germany to have an unsecured wireless network
Which German law prohibits that?
This is a poor analogy.
How so?
1) Segfaults (or otherwise "crashes")
2) Blows up in time or space (poor algorithm choice, or just plain old necessity. Some problems really do require slow/big algorithms)
3) Doesn't meet spec.
Actually there is only ONE such way -- does not meet spec. The rest you have mentioned are in a subset of it.
Guess what: any software that doesn't do any of these is right. You don't have to know C to write software that doesn't do these.
Only if you are writing toy projects at school -- because those things run in vacuum, without interfaces with other software or hardware.
That's like suggesting that a good song cannot be written without understanding music theory (which is quite untrue). Knowing the fundamentals is useful, but not at all required.
That's because stupidly written song is still an acceptable form of a song -- you can't be wrong in art.
Software (or any form of engineering) does not work that way -- if you are wrong, you are wrong and your product is broken, no matter how beautiful and clever you (or anyone) think it is.
GNAA is, without any doubt, involved in this...
That's what you do if your car for some insane (and likely impossible in reality) reason accelerates by itself.
If your car is actually out of control, that is, sliding and not responding to steering and brakes, the last thing you need is locked up brakes or ramming a guard rail at 45 degrees angle.
I'm just saying that you need to be clear in what was changed. If the change could be effectively covered with 100 testcases, but your description of the fix is so vague that QA ends up testing 1000 variations, that's a lot of time that could have been better spent on other projects.
No.
At QA level all changes are equal. Some places' policies wisely demand that developer should never tell a QA tester what was changed. in his code -- only what, if any, changed in the specification that he is supposed to comply with.
At my company, the changes in every development log need to be clearly documented for 3 reasons: 1) Future reference, so if that code isn't touched again for years, people can figure out how its supposed to work without reading the code.
Changes should be documented, but only for developers, users and support. QA should look there only after finding no apparent changes in behavior.
2) So QA knows what to test (if there are no instructions, QA will mark it DOA) and 3) So the documentation team can properly document the changes.
QA should ALWAYS test EVERYTHING. No exceptions. No untested code should ever be in a release version.
The QA at your company may simply be grunts, but at some companies (like mine) they are just as much of functionality experts as the developers, often more so.
QA people should not be "grunts", they should be able to develop and perform tests that cover all specified behavior of the product, and provide readable reports of everything that does not work as specified, or specified in a way that does not make sense. Developer then may find out that specification is wrong -- and fixing specification is often more important than fixing code.
Our testing is done manually (no automated tool we've tried has come close to doing it as well without taking 10 times longer to do).
This is stupid. If no automated tool helps you, you are supposed to develop one. Or ask developer to develop it.
Also, I'm working in HIT, so in some areas bugs really aren't acceptable at any level, even if obscure, if it could result in someone being physically harmed.
If so, how dare you not to test everything? Any bug in code potentially can change anything visible -- it's correct behavior that is predictable. One of the most obscure bugs that I have seen was found when the order of initialization of static objects was changed -- entirely without any intervention of a programmer, by a whim of compiler reacting to completely unrelated changes. It would be never noticed with testers like you, and likely the order-dependent assumptions would cause more obscure bugs later.
Our developers do testing as part of their process, and all new development is also receives at least two passes of code review,
You can't have more than one pass of code review unless you have two independent teams of developers. If you have reviews, all code can be only reviewed once.
but plenty of bugs still get through to QA because there are potentially thousands of variations.
Thousands??? How about millions? Have you ever tried to build a state machine for UI -- any UI??? How about things like memory/resource leaks, program state, race conditions, reaction to invalid input and communication errors?
This is why you need both manual functionality tests and automated test sequences. Often it is important to determine that program size in memory does not change after thousands of files being opened and closed, or that program remains accessible over the network after connecting 300 clients and disconnecting them in random order.
Now the OP didn't state what sort of company he's working at, but depending on the type of software it is, and their internal processes, being on QAs good side can be important.
That's like asking a lawyer to be on the opposing lawyers' good side.
http://www.youtube.com/watch?v=34Ng7qima7M
Do you still use Google to look for "linux problems" or did your master tell you to switch to Bing?
What he describes is running developers' tests. This makes QA worthless.
That argument worked really well with slavery.
(not that I am against patent trolls creating their own country where they can sue each other and leaving everyone else alone, mind you)
* Accelerometer
* Proximity sensor
* Ambient light sensor
...all typical components of a bomb...
Consultants are not employees like the original poster (and they still don't work on the company schedule).
If you're on the clock
Software developers are NEVER on the clock, as they are salaried employees.
This doesn't change the fact that it's usually necessary to work at the hours when other people are working, so you can communicate with them, participate in meetings, etc.
Go kill yourself.
QA is not for running developers' internal tests -- developer has to do that by himself if he developed them in the first place. QA has to develop tests based on the same specification, but it should be done independently from developers, so mis-implementations and wrong behavior in the corner cases will have greater chance of being found. My worst experience with QA was when QA followed the test strategy given by another product's developers -- they glossed over all inconsistencies in real-world behavior, so countless bugs were filed for my product being "wrong" in scenarios that actually called for that kind of (granted, weird-looking) output, but were usable for testing other product. Specifications? Studying the subject area related to actual use of the product? That's not for those people, they write scripts that push buttons and simulate requests.
QA can ask a developer to help them with the testing tools, or to review the tests, however it's insane to insist that a developer will write your test for you in English so your job will be reduced to translating those instructions into whatever shitty language you use to run those tests. Developer is BETTER at writing those things in a programming language than at explaining them to you in the first place, so if those "tests" were truly necessary, he would do them better without you. He does (or at least should do) unit tests and overall product tests as a part of the development process -- your task is to go beyond that, and create another -- however thin -- barrier between bugs that he overlooked and released product.
Space robots were the only thing funny that came from Lowtax, and NASA is remaking it... ...well, maybe the only funny thing other than being beaten up by Uwe Boll. NASA can't be beaten up by Uwe Boll, can it?
Who gets to decide what is "blatant overwhelming streams of commercial speech and propaganda"?
Who decides that a country needs military? Who gets to decide that a person can no longer be owned by another person? Your own society redefines things mentioned in your Constitution all the time without bothering to scribble on its fragile pages.
It is arrogance to think that you are smarter and more knowledgeable than the rest of humanity. It falls into the "I could fix all the worlds problems if they would just make me king for a day."
No, it's arrogance to present a current version of political system of one, nearly universally hated country as something backed by "the rest of humanity".
In particular matter of things you have in your Constitution, this is the reason why most countries do not guarantee absolute supremacy of some narrowly set of rules over all laws and actions of the government -- because people do not want to become victims of a tiny loophole that grows into an all-overriding rule few hundred years after being written. Basically, "this is why we can't have nice things" on the scale of a political system.
By redefining "free speech" as to exclude blatant overwhelming streams of commercial speech and propaganda.
If you (Americans) can't do that, I am afraid, you will have to abandon "free speech" or accept that the whole role of speech -- be it political or otherwise is hopelessly subverted.
American military believes that it's always good to collect loads and loads of unprocessed information, and then dump it up the chain of command. Video feeds, reports, observation from absolutely everything that observes, interception of everything that can intercepted -- no one on the ground (or in the air) is good enough to handle it, it all has to go up to the highest level.
Then people are surprised that crucial information is lost in this unstoppable torrent of shit, all high-level decisions are made based wishful thinking, and all low-level decisions are based on prejudice.
Good job, control freaks -- now build a monitor into a contact lens and give it to Obama. Maybe he will accidentally stop the next attack on journalists or something.
Most people that clean toilets don't just clean toilets. It's just part of their cleaning duties. The rest of the duties (cleaning the office, taking out the garbage, etc.) would probably be too difficult for a robot with our current technology.
The whole point is to develop new technology. It's not even difficult -- just all efforts are directed toward entertainment instead of automating work that people don't like.
Because the government spends it's money on weapons (which isn't the only thing the military spends its money on)..you are forced to program for the entertainment industry? wow, I don't think I've seen a post this delusional on Slashdot in awhile.
If government paid me instead, I would work on robots and produce useful results. Certainly with more misery avoided per dollar than spending it all on things that blow other things up.
Ever hear of unions? Many unions have prevented companies from automating many jobs. Many people don't have the skills to get a better job. By keeping these positions around (and not using robots), we giving more people an opportunity to make a living.
No union would keep anyone from automating anything if people who will be out of the job would still have guaranteed living condition and food. There is enough resources to provide for everyone, including myself, and I would be still productive just because I am an engineer and therefore want to do engineering. Former janitors won't do any work? Who cares -- work is being done anyway, and people are just living modest lives.
But nooooo, American society can't have that -- people MUST FEEL PAIN if they don't work, even if their work can be easily made unnecessary. This study just demonstrates how fundamentally wrong the core of this ideology is.
The problem here is your entitlement.
Why? Because I won't be in danger? This is what you all are afraid -- that a person who produces something new will just live modest life, not fear for his future and produce more than he can ever consume?
If you really want robots to start cleaning our toilets, create a company and start selling them (or give them away). You do have the freedom to do this in the US.
First and foremost, technology startups have an extremely high failure rates -- most of them disappear before anyone can expect any outcome of initial R&D, so it's not just because of incompetence. I would have better chance to survive by gambling.
Second, building robots that replace people doing menial jobs is not profitable -- it's helpful for the whole society, and only if society makes commitment to use freed resources to provide decent living conditions to all its members -- working and non-working alike. While it's perfectly rational, as everyone is happier in the end, (I guess, except for sadists who want to see suffering around them), and total productivity is up, Hell would freeze over before Americans, or US government, will support such an act.
My current theory is that US culture and ideology grew out of the idea that causing others' suffering is more enjoyable than anything else -- basically it was hijacked by sociopaths, and healthy people are indoctrinated with this view even though they do not genuinely enjoy power and causing pain to others. After all, it's easy to tell someone who lacks power that such power is desirable -- he has no means to verify it, and ends up lusting after something he can't enjoy.
This explains plenty in your history -- from persistent support for slavery to pointless use of excessive bombing in WWII to unusually high popularity of S&M in porn, to tolerance of advertisements that are designed to foster feelings of inadequacy.
But when that objective cannot be met at certain times, the clear objective is to SURVIVE.
Why?
If people in control of the business can easily move elsewhere, they are not interested in survival of that business. The situation would be different if there was a real possibility that after the failure of the business former employees would kill their former management that orchestrated this failure, however that would be something from a CIVILIZED society, not sociopath's paradise that is modern US.
I have no motivation to clean toilets.
However I have plenty of desire, and ability, to develop cheap and flexible robots that would be able to easily replace all toilet cleaners in the world. The problem is, people in power are satisfied with toilets being cleaned by desperate poor people, and have other aspirations. So instead of paying me for robots (or just providing me along with would-be toilet cleaners, with free decent living conditions -- I am not that picky), government spends money on weapons, and my electronics/programming work has to be limited to entertainment industry, or I would not be able to pay for my food and shelter.
The problem is not with me, toilets or people's motivation, it's with society that is controlled by those who want to hurt and humiliate the poor under the guise of motivation.
Flexible barrier -> contains high pressure -> cold (or it would be ineffective).
Rigid barrier -> equally applicable to high and low pressure -> hot (more convenient, can be used with varied fans speed).
You are assuming that those 309 million approve, which is not the case.
Yes, you all do.
As long as you claim that your country is democratic, you accept the role of originator of all decisions made on your behalf by your rulers. The rest of the world admits that all governments are at large extent tyrannical, and does not engage in patriotic crap like you do.
If you want to make a diagram so complex that it would be difficult to make it in dia, you are doing it wrong.
Remember -- diagram is an illustration, not a formal specification.
there's nothing hard about getting FP when you are a subscribefag... just ask ASS POS.
Fags are on /b/. I am a subscriber nerd.
BTW, what woke you up? Haven't seen your UID before.
You must be new here.