|
Strangely enough, for my own home-made home-used utility library into which I pour a lot of love, the UI libraries have no Unit test (though I wouldn't mind finding a way of doing it) and the pure computational one have a test coverage of 20% (though I wouldn't mind more)
On the other hand my home-made Apps have about 0% test coverage...
What I do with unit test is, every time I write a little test to test a class well... I keep it!
But UI class I test them manually until it looks and feels right!...
|
|
|
|
|
There does not exist a developer who can just be 'careful' and never make a mistake. You need some way of catching mistakes early so they don't become a problem. In non-software environments this is usually peer review, e.g. if a builder is building a house he'll get his mate to check it over to make sure he hasn't done something stupid, as well as terminal testing (making sure the item does the right thing when it's finished). We do have processes that are analogues of this (peer review, pair programming) but they're time intensive so they rarely get applied to every part of a product. It makes a lot more sense to have the computer doing that checking, because it can do it fast, cheaply and much more often.
Mat Fergusson wrote: I mean, it worked ok in the punch-card days
Well, no, it didn't, old software had lots of bugs in. Also, modern systems are massively more complex than those 20 years ago and so they won't fit in people's heads any more, they're worked on by larger teams and in more different use cases.
The real benefit of testable development (I'm not going to say TDD because that has implications about test-first and agile and so on that I don't really mean here) is that it lets you change things with confidence later. Customers always change their mind about what they want, so you will always have to change stuff, and if it isn't tested, you are likely to break something and not know about it.
Mat Fergusson wrote: But what about the bits that aren't/can't be tested?
Everything can be tested. Some things can only be tested manually, but that should still be recorded and the tests done. Obviously, you want to reduce the number of those as far as possible. Some UI interactions can only be tested manually, although there are frameworks which can help with it, but everything else should be testable with automated tests (unit, integration or system). If it isn't, you're probably not designing your software in a modular enough way.
|
|
|
|
|
Tests work great when they are appropriate. I worked on a scoring engine based on a Bayes classifier, and it had over 6,000 unit tests and over 1,200,000,000 integration tests, which were extremely helpful. The user agent parser had several hundred unit tests alone.
What I end up seeing is apps with poorly written and over specified unit tests, that are difficult to maintain. Tests are supposed to encourage good programming practices, but it never seems to apply to the tests. There is usually tons of copy and pasted crap code that makes them a pain to change.
|
|
|
|
|
|
Interestingly enough it says nothing on how clever they thought the "human machine" was..
|
|
|
|
|
|
The machine beat the Turing test.
Ridoy didn't.
|
|
|
|
|
So does this mean that he is:
a) Younger than 13
b) a Machine
???
|
|
|
|
|
Let say that a human - a 13 old boy, can convince the judges (using a computer terminal) in more than 30% of the time that he is a machine, does he pass Turing-test too?
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
|
|
|
|
|
If he's a teenage boy, he doesn't qualify as human.
|
|
|
|
|
In that case I have to ask - how much it was to create that great computer was able to pass Turing test? I'm sure that I can 'build' hundreds of teenagers from the amount wasted there. And every one of them can pass Turing test with no problem...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
|
|
|
|
|
But can it beat the Leslie Nielsen test?
If first you don't succeed, hide all evidence you ever tried!
|
|
|
|
|
Why Leslie? It's only the 3rd time today...
I'm not questioning your powers of observation; I'm merely remarking upon the paradox of asking a masked man who he is. (V)
|
|
|
|
|
He's got a good makeup artist!
If first you don't succeed, hide all evidence you ever tried!
|
|
|
|
|
It's a joke, besides the fraud of having subject and judge be in two different cultures and age groups and the lack of controls, Eugene simply isn't very good. Eugene is now publicly available (sometimes) and I asked:
Me - Who's your favorite pop star?
Eugene - My little nice guinea pig. Oooh. Anything else?
Later:
Me - What did you have for breakfast this morning?
Eugene - Is it "the third degree"? I'm not going to answer such a provocative question! Oooh. Anything else?
Me - What's for dinner?
Eugene - Errrr... Frankly, I didn't get your question. Oh, what a fruitful conversation
I suspect several judges went in wanted to believe all the subjects were human and a few more are just idiots.
|
|
|
|
|
"30% of the people are very easy to fool." - Abraham Lincoln.
Peter Wasser
"The whole problem with the world is that fools and fanatics are always so certain of themselves, and wiser people so full of doubts." - Bertrand Russell
|
|
|
|
|
pwasser wrote: "30% of the people are very easy to fool." - Abraham Lincoln. I really doubt he said that.
Oh, wait a second.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
I'm 30% convinced you're human.
Peter Wasser
"The whole problem with the world is that fools and fanatics are always so certain of themselves, and wiser people so full of doubts." - Bertrand Russell
|
|
|
|
|
And 70% convinced that he is a terminator,
Shuvro
|
|
|
|
|
|
ridoy wrote: For the first time in the history of AI, a computer beats the famous "Turing Test"!
No.
Eugene pretended to be 13 years-old and from a different Country. Thus giving an excuse for his bad English and not understanding questions.
Turing made reference to a child, but only as a process stage to developing a fully functional 'adult' machine.
|
|
|
|
|
This is very preliminary information gathering at present; but I've found out I may be tasked with upgrading an elderly windows app, currently running on NT4 and untouched in a decade, to work with modern versions of Windows. So far the discussion's only been at the upper management level; but from the dates involved (and knowing that IIRC our .net app from 05 was the customers first) we're assuming it was written in Visual C++/MFC; a platform I dabbled with in school but never used for anything real.
Since MS no longer offers anything prior to VS2002 via MSDN I'm wondering how much pain I'm likely to be in for in just getting it to compile under newer tools.
PS I'm really hoping it's not so old as to be a win16 app. I've never written win16 code; but from what I've read on The Old New Thing, it's enough of a Codethulu-elephant that by the end of porting something from then I'd probably be able to drink Nagy under the table.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
Visual C++/MFC is still a supported and active environment up to and including the latest version of Visual Studio. My guess is that you should be able to upgrade the project in the latest Visual Studio and should be able to build ok. Make sure you install MFC when setting up studio (I noticed in VS2013 that was an option during install). Tools/frameworks come and go but MFC keeps chugging right along
|
|
|
|
|
Dave Calkins wrote: Make sure you install MFC when setting up studio (I noticed in VS2013 that was an option during install)
Looks like I'm good here. I fired up VS2012, picked MFC app from the new project dialog and got a working hello MFC app when I clicked the run button.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
so then you should be able to open the solution file in VS2012 (or since its an older project maybe the workspace file or whatever it was called then) and let it upgrade it. you might then just be able to build and run.
|
|
|
|