Wednesday, August 29, 2007

Requirements are Required

Test Requirements are required for proper testing. The project I'm currently on, more or less, have requirements. I say more or less because there are requirements written down, but they're not signed off. I, as a sub-contractor, and I'm trying to follow the requirements as written, even though it's not signed off.

Today I was working with the contractor, going over the user interface. Some questions came up about how the operator interface worked, he wanted things done differently. At one point I pointed out that I did it according to the requirements. The contractor I was showing it to said "I don't care what that [the requirements] says, I want it like this."

To change something they want is not the problem, it's the fact that it's written one way and going to be implemented a different way. We could held accountable later for not implimenting the requirements correctly.

I'm not an anal retentive person, I'm probably more loosy-goosey, but I also want to protect my self. I've been in the situation where a boss told me to do things one way instead of the way the documentation explained it. Later, the same boss called me out in a meeting on doing it incorrectly. Since then, I do it the way the documentation says and if someone wants it done differently, then change the documentation. That's when I'll change it.

Basically, to protect yourself, write down what's wanted (requirements), agree to them, then follow them. If someone wants changes, change the documentation, agree on cost and schedule, and then implement the changes.

Bottom line, CYA!

Tuesday, August 28, 2007

"We've always done it that way" - argh

That is one statement that has always bugged me. National Instruments (NI) is cutting edge, forward thinking, and a has an overall good product. Now, mix doing testing the same old way and modern technology. What does that leave you? A good overall mess, but at least it's eas to develop.

Sometimes, contractors will layout requirements for products, like User Interfaces (UI), the way they've always laid them out. And no matter what arguments you use, the want what they want.

NI makes their products very flexible. The good and bad is that it makes it easy to develop a cumbersome, less flexible UI for stubborn customers.

UI's should be independent of the UUTs to be tested or test sequences run. They should allow the tester to add new test sequences and remove old test sequences without changing the UI. NI makes developing UIs with this philosophy easy. However, UIs that are heavily integrated with the test sequences can also be easily developed. While this is good for future work and continued employment, it's not good adding or removing new tests.

But we all do what we need to do to get the job we're given done. So thanks to NI, we can easily develop inflexible projects as well as flexible projects.

Have a great day.

Monday, August 27, 2007

More On Fault Insertion

How about "Fault Insertion, More On". In the past I've seen two different attitudes on fault insertion. The first test engineer was diligent at inserting and verifying faults he inserted. It took a while but, and the test lead, has confidence that if there are faults in a UUT, the test sequence will catch them and report them correctly.

Another test engineer, said he didn't have time to insert and verify faults because he had to get his test running. I thought making sure your test would catch faults was part of getting the tests running. Very recently, a fault was put into his testing (I probably shouldn't have pulled the break out box shorting plug) and I noticed it wasn't caught. He just got annoyed that someone was messing with his test.

Another time, his test crashed instead of catching a UUT error. When I say crashed I mean his code had a fatal error and could not continue. He just said "That shouldn't happen". He fixed the UUT so that it didn't cause the error (a broken wire in a cable) and didn't fix the error.

So, which tester do you think was embarrassed at sell off time with quality assurance there, watching, keeping track of problems. So who do you think was the Fault Insertion More On?

Sunday, August 26, 2007

Fault Insertion Testing

I don't understand why test engineers only want to test the Go path, the path that gives you that nice green "PASS" screen, if you're using NI TestStand. I will admit the "green screen of goodness" does give you that good feeling. However, testing doesn't always get the Pass screen, sometimes Units Under Test (UUT) fail. Test engineers need to make sure these failures can be caught. That means when running their code, test engineers need to insert faults.

I've heard to many engineers they don't have time for fault insertion, "it takes to long", "I don't know how", "I can't". Blah, Blah, Blah. Think about the cost and embarrassment when a UUT gets through. Sometimes faults aren't thought of because they're in the future so they'll be verified later. Typically they're forgotten about after that.

The only faults that should not be inserted and verified to be caught are if the fault insertion could damage the UUT or the Test Equipment. Any other faults should be open for testing.

There are ways to insert almost every fault when you're testing a UUT. Some easy, some hard. Any fault that has a high probability of happening or a fault that can cause major problems needs to be verified that it can be caught. Sometimes it can be as simple as pulling a plug from a break out box, sometimes you have to get more creative.

Once, in order verify I could catch communications fault over a channel I had no control over, I temporarily added a function to the communications driver that allowed me to add errors to in coming messages. While this was not allowable in the final test configuration (no extraneous code in the final version) it did allow me to insert error's in order to verify my code.

Not enough people have the imagination to come up with ways to verify their test code works. They write and just assume it will work. This is a huge mistake made by many test engineers and not caught until the they're in front of the customer.

I was thinking about this because I was going to use a test set (the test engineer wasn't in the room) and disconnected the cable between the test set and the UUT. It was then I noticed a test was running and about half the tests were still passing. They shouldn't have been passing. Apparently there wasn't enough fault insertion done.

Wednesday, August 22, 2007

Getting test people into the 90's

I was speaking with someone about the future of test and where it is going. Many test sets being used have the older, larger, VXI technology. Some test sets, not many around Lockheed, are still manual, where points are manually checked for continuity/voltage whatever.

When the older technology test sets are rebuilt with the same old technology, they are more expensive to maintain, the instruments are harder to get a hold of. Technology continually moves forward. I've noticed some test people want to stick to the old ways, old technology, unchanging. Technology, people, test, need to move forward. As Units Under Test (UUT) get more sophisticated and smaller, better, faster, Test Equipment must also get more sophisticated, shrink, and faster.

Attitudes to test developers also need to change and get more sophisticated. People need to understand better ways of testing, more sophisticated ways, ways that haven't been tried before. They need to have better understanding of what's being tested and why. Basically people need to change, learn, grow. Those who don't, will be stuck in the 90's, testing things that are simple to test because that's all they know.

Test people need to move into the into the 2000's and beyond. A few are moving forward and growing. A lot, possible most where I work, don't seem to be moving forward, seem to be of the mind of "we've always done it this way".

We need to keep moving...or be left behind.

Tuesday, August 21, 2007

NI Week residuals

NI week was awesome, a great learning experience. It made me think more about LabVIEW for work. I found out today that another guy at work, who was less of a supporter of LabVIEW than me, was thinking of LabVIEW as something that can be used at work.

I think of LabVIEW of more viable of a product in more area's at work than before. It's something that can be mixed with LabWindows. Both can be used in places to meet the goals of product testing.

Now, I need to work on learning LabVIEW a little better so I can understand the best ways to use it to achieve my goals, a better test product. It has some really good aspects already that I haven't fully explored. LabVIEW FPGA (I'm still hoping for LabWindows CVI for FPGA) and LabVIEW for Lego mindstorms.

I'm embarking on my LabVIEW journey, starting with mindstorms since I can download a free student version that interacts with the NXT brick.

Sunday, August 19, 2007

NI is Grea...eeh,it's Sunday

It's Sunday and NI is a work product so even though I want to blog about NI, that's to much like work.

So I'm going to blog some about some of my hobbies and how they may relate to NI. Today, after Church, I was playing with my Genetic Algorithms (GA). I was moving it from C++ to Java, partially to to learn Java and partially to get away from MS Visual Studio. I started working on using GA to beat the stock market after my Neural Net work didn't beat gains made in some of Mutual Funds.

I continue to look at Neural Networks because they intrigue me. They have so much potential, but I need to work on it some to beat the stock market. However, I heard that one of the big mutual fund companies was using GA to help with their mutual funds.

I was thinking that the Neural Networks would be good in LabVIEW. Some of the math may be hard but since I saw at NI Week (Which was awesome) it was easier to do math in LabVIEW, it might be doable. The graphics interface would be good for the set up and the connection of neurons. If I ever get LabVIEW at home (which I probably won't due to cost) I may try it. To be honest, the hardest part of Neural Nets is data preparation which may or may not be easy in LabVIEW.

So, I'm relaxing on Sunday playing with GA and thinking about Neural Networks, I have to have my fun sometime. Yes...I am a Nerd.

Have relaxing Sunday.

Saturday, August 18, 2007

More LabVIEW for more LabWindows programmers

A lot of the resistance to LabVIEW from LabWindows CVI comes down to change and the unfamiliar. At Lockheed, there is a lot of change going on at the moment. Change is not bad as long as there is a goal or reason for the change. But to many changes at one time can overload people. With all the other changes and one of the bosses wanting to change to using LabVIEW is overloading.

LabVIEW is a paradigm shift from structure programming to data flow programing. I'm not sure if I'm on board for the data flow programming paradigm either. However, I believe LabVIEW and LabWindows can co-exists, as I've said before. I'm not entirely sure the boss who wants to switch to LabVIEW believes they can co-exist, it may be one or the other for him.

Also, some people are resistant to change no matter what the reason, change is bad. I can change their minds, I can only provide information to help allow them to change. None of it is easy, but it's not always as hard as it seems.

For me with LabVIEW, there's always the Carpel Tunnel Syndrome that also makes me not want to change, but that's another issue.

Friday, August 17, 2007

LabVIEW for LabWindows Users

I mentioned to a Test People who are LabWindows CVI users about the possibility of going to LabVIEW in the future, I was met with...well...resistance.

I am a LabWindows CVI user and I don't want to move away from it (unless it's to C++ and Measurement Studio or Java). But there are hardware guys who may be better at LabVIEW than LabWindows. I believe that there is room for both. The real programmers can use LabWindows CVI and those programmer wanna-be's can use LabVIEW. Since LabWindows and LabVIEW can both be used with TestStand (yet another NI product) both can be used. Or, through .dll's each can interact with the other.

NI is good at listening to LabWindows users (Thanks Wendy Logan) and implementing new features. Even though the features come to LabWindows about 6 months after LabVIEW gets the features. It was good to hear that NI will back LabWindows in the known future.

Hmmm, when will NI make a Measurement Studio like product for Java? ...or COBOL! Well, maybe not COBOL. Just a thought.

Have a great day!

Wednesday, August 15, 2007

Moving to LabVIEW...maybe

We're starting to investigate using LabVIEW for testing here in our group at Lockheed Martin. I'm not a LaVIEW fan but I'm always open to change if it's for good reasons. LabVIEW is for non-programmers. Since our Test Engineering group is mainly Hardware Engineers who think they can write software, but in reality, they typically don't do it well. LabVIEW targets hardware people, you connect graphical objects by "wires".

LabVIEW, like any other programming language needs style and discipline. Some of us have had LabVIEW training some haven't. Some people are dead-set against LabVIEW, some are having trouble with the paradigm shift from structured programming to a dataflow paradigm. There are many hurdles to overcome, some will accept them some won't.

One thing I'm looking into is LabVIEW style. At NI Week (which was really great) a book was available from Bloomy controls called the LabVIEW Style book. We're going to order the book to get some style for our LabVIEW. In a graphical programming, like text based programming, you need discipline to have style. If style isn't archived in text, is it easier in graphical? I don't know if it can be.

There are a lot of questions to be answered about using LabVIEW, we'll have to see how it goes.

Monday, August 13, 2007

NI Euphoria

After NI Week I'm excited about work, excited about development, excited about the possibilities. I talked to some NI hardware people and I think I could cut down our three (3) bay test set to two (2) or maybe one (1) bay. Our 3 bay test set has a standard scope, signal generator, and spectrum analyzer. Those 3 things take up a lot of real estate and a good bit of power. If those were put down into a PXI form factor space and power could be saved.

We could put all major items in PXI chassis and have a separate bay with power supplies and loads. The Integrated Test Adapter (ITA) would be on the bay with the power supplies. All lines for relays, DMM, Scope, etc would go from the control bay to the power bay with the ITA receiver panel.

With that setup, the instruments would be standard for all setups. The power and loads would be unique for each set up but with some cable standardization the setup could be standard between all test setups.

Just one use of a PXI chassis to shrink a test set, or at least to make it more mobile.

Have a great day

Saturday, August 11, 2007

LabWindows for real programmers

Yesterday, I blogged some about LabWindows CVI is for real programmers. I know that LabVIEW is NI's flagship product most of their other products are in support of other facet's of test, I'm still just not enamored with LabVIEWs data flow paradigm and graphical programming.
Throwing together a LabVIEW program is easy for a novice but that doesn't make them a software developer. There's still not the discipline it takes to program with discipline. It's like someone who goes 90 miles per hour on the highway believing they're a NASCAR driver.

The skill and discipline involved in developing a program is more than taking some icons that represent operations, putting them together, and calling it a program. There still needs to be the analysis on what the user wants (the requirements), some design and thought on how to handle errors, some thought behind the coding so that other non-programmers can understand it and follow the data flow.

LabVIEW is targeted to hardware engineers, guys who understand wires, circuits, and not necessarily good programming practices.

Bottom line is that to program correctly in LabVIEW or LabWindow, there still needs to be discipline needs to be applied to both.

Friday, August 10, 2007

After NI Week

Wow, what an NI Week! It feels go to a seminar where I felt like it was worth it. It's in the past now, and I have a 6 inch stack of information to go through. I have a feeling about 5 1/2 inches were picked up just to get the swag at the booth or NI was giving out information on LabVIEW that I was thinking would work great in LabWindows.

I did have some fun...On Wednesday, I put on my LabWindows CVI shirt (thanks to Wendy Logan and the LabWindows Users Group) and then went around to LabVIEW displays and say "That's OK for LabVIEW but I bet LabWindows could do it better". OK...that's nerd fun. But then again, I'm a nerd.

I can't wait until they migrate multi-core operations from LabVIEW to LabWindows. Well, I'm off to listen to the band LeFreak...The worlds greatest Disco Band!

Wednesday, August 8, 2007

NI Week...another day at 'nerd'vana

I want to make sure it’s clear (in case it’s not clear from my blogs) I’m Joe Engineer, NI Product user and not an NI detractor or any loyalties to NI. I started my blog to express my opinion as an impartial NI user.

Keynote, again, was very good and showed off several of there future products. Something new is NI Labs, NI’s online products beta test site. They are putting their products ready for final beta test out there and letting the NI community at large do the final beta testing.

LabWindows CVI users group was good, we got to voice our opinion on LabWindows CVI and it’s operations. One thing that came out from a guy who did both LabVIEW and CVI development was LabVIEW seems to cause over confidence. People can put together a simple LabVIEW VI and they feel they’re a programmer. Then, after several small LabVIEW successes, they’re given a big project in LabVIEW and they do it poorly. While LabWindows programs are typically developed by programmers, with the understanding, knowledge, and discipline of a programmer.

Also, the VP of applications indicated there are not as many help calls about LabWindows, most likely because it’s done by programmers who can figure things out. Although it was said that if they want more help calls, they should write more bugs into it…like LabVIEW has done. Remember, it was a LabWindows CVI users group.

One guy I work with came last year and said it was boring after the first day. All I can say is he must not have been at NI Week.

Tuesday, August 7, 2007

NI Week - Tuesday

Quick Note: Last night I went to 6th street after the NI Festivities and the music was very good, even for a Monday night.

Today, the had very good coffee, fuel of the Geeks and Nerds, and breakfast burritos.

My take on NI Week:
Keynote speakers were very good. They generated excitement about NI's latest product releases as well as upgrades to their own standards, like LabVIEW. The VP of development was very personable. He kept things flowing very well with sever quick hit demo’s and kept it form getting boring with jokes and planned “impromptu” demonstrations and “show us more demo’s. It made me think about possibly doing development in LabVIEW...then I had some coffee and that passed.

I did get to talk to some LabVIEW developers about my reason's I don't like LabVIEW. I have mild Carpel Tunnel Syndrome and all the mouse work that it requires gives me pain in my arm. My doctor says either use the mouse less or get an operation. I don't want to be cut on so it's less mouse. I can use my left hand for the mouse but I don't have the dexterity to connect the wires to the right terminals.

I did suggest, apparently like many other they have some kind of magnify feature so that my left hand can connect the wires. I also suggested that, once a wire is connected, you could "tab" the wire connection to the correct place. That someone like me, could just connect a wire then "tab" it to the right place. They seemed very receptive, but then again, NI is very good at listening to their customer.

We have a Block party for later in the Expo hall...more free beer.

Have a great day!

Monday, August 6, 2007

NI Week - First night

Tonight was the first night of NI week. I had a nerdy way. The Expo floor was open for an initial viewing. It's not a huge Expo floor but it's full good information. There are a lot of companies that use NI products. I know that I got a lot of good information, some information on things I wanted to see (Lego Mindstorms) and a lot of information on what I need to be looking for for my company (Test Sets and LabVIEW)

I was impressed by all the vendors, there was a good mix of all NI products users. Some who deal with vision and motion,I('m not necessarily interested in that), some dealing with TestSets, some dealing with sensor's, some with LabVIEW. There were a lot of test solutions houses, the companies who build test sets and develop software to test a UUT (Unit Under Test). G-Systems, a company that builds test sets for Lockheed and other companies, was there.

I have a lot of information from the vendors that I will go through to see what we need now, need in the future, and don't need. That is the problem with these, information overload. Each vendor booth you walk up to you have about 2 to 4 minutes to find out what a company does, figure out if it's something you need or something you may need. Or even something that is not needed but has good swag (Free stuff).

Some companies want to get rid of their swag and some companies want to give away the good swag to those they think are really interested. The trick is to learn enough about a company from their banners to know what to say to get the good swag.

While swag is the perk, information is the what you need to go for. The key is to get what you need (information) along with some of what you want (swag).

I'm now geared up for the seminar's that will come up tomorrow. I also met someone who actually read my blog...Cool!

Have a blogging great day.

Sunday, August 5, 2007

NI Week T-1 Day

Tomorrow will be the first day of NI Week. It's called Alliance Day. It's the day where NI "Alliance" partners have there own get togethers, seminars, and general NI ra ra. Alliance partners are people/companies who are closely coupled with NI. They use and understand NI Hardware, they use NI Development tools...all of them. They know what all the products are, the best ways to use them, they have Certified NI Developers, the experts basically. I'm not an alliance partner nor do I work for a company that is an alliance partner, so I'm not invited. I am interested in learning more about NI products.

NI's main products like LabVIEW, LabWindows CVI, and TestStand. But the alliance partners know about the new and lesser known products. Things like NI Elvis...NI in a white jump suit with rhinestones! Not exactly, it's NI Educational Laboratory Virtual Instrumentation Suite. (It show's NI has a sense of humor) It's a platform for school test with virtual instruments rather than real instruments. It can also be used for rapid prototype, to see how things look before you go into full development.

Another, not-as-well-known product NI Lookout. While it doesn't have as cool of an acronym as NI Elvis, it can be useful. It's for industrial control of SCADA (Supervisory Control And Data Acquisition systems. I'm not a SCADA person but my brother is. I didn't know about NI Lookout until very recently so I couldn't give him any information on it. I don't know if it would fit his application since, when he talks about SCADA I go into meeting mode (My eyes glaze over, I zone out, I have just enough attention going to here if someone says my name). It's just not one of things I'm interested in.

Well, have a blogging great day. My next blog will be after the first event of NI Week...I can't wait.

Saturday, August 4, 2007

NI Week T-2 Days

NI Week is really close. Since it's the weekend I'm not really thinking a lot about the seminar's that will help me for work, the work networking possibilities, or pretty much anything dealing with work. I'm thinking more of the fun aspects of NI Week like the evening activities. I'm not sure what to expect from the evening activities. First, this whole seminar 'nerd'vana for geeks, It's all about technical stuff. But during the events in the evening that are supposed to be fun, there will still be a bunch of geeks...90% guys.

My only experience with seminars is AutoTestCon (Automated Testing Conference) and the evening events from that, while fun with lots of alcohol, were still just a lot of guys just hanging around. I did hear a lot of good geek jokes and they're all funny after a few beers. But how interesting will the NI evening events. NI Week is in Austin Tx and Austin can be fun. I've been to 6th Street many times on the weekends. It's a lot of bars and bands and where the great Guitarist Stevie Ray Vaughn (Originally from Dallas. Tx) was discovered. I've heard a lot of good music on 6th street but I have a feeling there will not be a geek invasion of 6th street.

The first NI Week evening event is on Monday evening, the day before the first main day of NI Week. Here is what the NI website advertises the event as:

"Enjoy food, drinks, and music at the hottest party in the neighborhood! Exchange best practices with fellow developers from a wide range of industries and companies and interact with community leaders in design, control, and test to discuss the latest technical innovations. Also visit more than 130 exhibitor booths to see the newest tools, applications, and solutions using NI products."

I think I may spend Monday night on 6th Street...unless there's free beer at the event.

Have a blogging great day.

Thursday, August 2, 2007

NI Week T-4 Days

It's only four (4) more days until NI Week. I've found out that the festivities begin on Monday evening in the Expo hall. It will be our first chance to see the exhibitors and whatever NI will be showcasing this year.

There are 5 people from our site going to NI Week. This is a pretty big number for us. I also found out that one of the bosses from Test Engineering is going, that makes 6. I don't report directly to him but he does have influence. I see one of three things happening, I avoid him, thus I don't have to deal with him. Since we have different interests I'm pretty sure we'll be going to different seminars. Another posibility is that I'll try to suck up to him. I don't see this happening since I don't suck up well, I either say what I feel or just keep my mouth shut.

What I hope to happen is some bonding. For me it may take some alcohol to want to hang around him. Not because he's not nice, he just doesn't seem to be the guy I would hang around with. I could be totally wrong and we have fun. I maybe learning more at NI Week than just about NI Products. But then, I'm always up for a learning experience, as long as it doesn't kill my career. I'll buy him a beer and see how it goes.

I can guess that he's going to look at LabVIEW. He's pushing our department toward LabVIEW even though many, many of us don't want it. It's a graphical language geared toward hardware people and he's most certainly a hardware guy. I admit I'm going to learn more about labVIEW so that I dis-like it less. Unfortunately, as long as it has a lot of mouse movement and it aggravates my Carpel Tunnel Syndrome, I probably won't like it.

So much for the extended learning opportunities at NI Week. It's still only 4 days.

Wednesday, August 1, 2007

NI Week T-5 Days

NI week is getting closer! I didn't have a lot of time to get excited about NI Week today, that 'work' stuff got in the way. It was mostly metrics and Diversity Maturity Model review. Very unexciting, but it's part of the job.

I did talk with our NI rep yesterday. Joel Garner. He's a good guy, NI all the way. He keeps pushing LabVIEW and pointed out a lot of good LabVIEW seminars at NI Week. LabVIEW is NI's big thing and main product. Unfortunately, for real programmers, it's a paradigm shift and a different way of thinking. For real programmers, it's another language in a format that is not really wanted. I'm not really going to say much more about LabVIEW at the moment, but I'm sure there will be more blogs about LabVIEW in the future.

Joel, the NI rep, talked with several of us about what will be going on at NI Week. He had some suggestions on seminars and let us in on which seminar's will most likely be less interesting and why. One of the more interesting one's are "LabVIEW, The Good, Bad, and the Ugly", he says that's one of the more lively sessions.

One of the main things is all the NI experts will be around at different times so we need to get our questions and our suggestions together.

They have activities every evening, I guess it's to keep all us 'wild and crazy' engineers busy so that roam the streets of Austin.

I'll have more interesting information about NI Week, tomorrow.