Tim Murphy's .NET Software Architecture Blog

testing

There are 14 entries for the tag testing

BUILD 2013 Session–Testing Your C# Base Windows Store Apps

Testing an application is not what most people consider fun and the number of situation that need to be tested seems to grow exponentially when building mobile apps. That is why I found the topic of this session interesting. When I found out that the speaker, Francis Cheung, was from the Patterns and Practices group I knew I was in the right place. I have admired that team since I first met Ron Jacobs around 2001. So what did Francis have to offer? He started off in a rather confusing who’s on first ......

Twitter Search JSON Deserialization

In a previous post I talked about using the JSON to LINQ features of JSON.NET. Thanks to Bil Simser I was able to do some testing of the deserialization capabilities of this library. The key was his hint to leverage the json2csharp web site. Below is the C# representation of the search results for a Twitter query created by putting an example of the search result into this site. public class Url{ public string url { get; set; } public string expanded_url { get; set; } public string display_url { ......

Change Control Processes

The evolution of an IT department is always something interesting to observe. The is especially the case when they move from small departmental IT groups to corporate level oversight. It is usually painful for the people involved to give-up their ability to modify servers on the fly and conform to rigorous testing and documentation. Having the keys to your environments taken away can really feel like getting stabbed in the back especially when the new deployment team is still working out there processes. ......

Upgrading Windows Phone Projects To SDK 7.1

Even though this is one of the simplest tips it is one of the hardest to find someone who has documented it. So instead of just telling you I am going to take a quick sidebar first. I wouldn’t want you to feel you got jipped by stopping here. One thing that happened when I finished running the Mango update on my Samsung Focus was that the apps that I was testing forced me to uninstall them. Now it turns out that this wasn’t that the SDK needed to be upgraded, but that the device had to be reregistered. ......

WCF Service Development Basics

Part of the fun of being a consultant is that the technology you use changes from day to day. Recently it is WCF which, while knowing the concepts of since it came out I haven’t used up until now. The nice thing is that it really isn’t any harder to develop for than a normal ASP.NET web service. A couple of the attributes change and which project type you start with is different, but it is still message based services. Just like the method of a web service needs a Webmethod attribute a method in ......

Do Companies Really Want To Ship Software

I was reading a blog post the other day about motivating software developers to be motivated to ship code. While I agree this is a problem I have to ask the question "do IT departments really want to ship code"? Here is where I am coming from. I have seen enough IT departments where they stack release on top of release at such a frenzied pace that it causes them to split their resources. When you have multiple versions of an application that have to be tested you need more environment that all have ......

Creating Your Own Testing Tools

Ok, so it isn't necessarily the most efficient way to spend your time. It is usually better to buy your tools whenever possible, but it is a great way to learn. Of course I am not talking about recreating Nant or CruiseControl. What I am suggesting would be more in the nature of a test harness for integration testing purposes. These are strategic tools that will pay for themselves as you move from development into production support. One area where these harnesses come in handy are integration points ......

A Pragmatic Approach to Software Development

On a recent ARCast Ron interviewed Jeffrey Palermo. The thing that really impressed me was that he really separated the Agile principles from implementation approaches. The fact that the goal is working code over comprehensive documentation and that designing by testing is just one way of getting there is a much more rational statement than I often read. Similarly there is an ARCast.tv clip with Peter Provost where he discusses TDD. The great thing is he discusses where architecture fits with TDD. ......

Thinking About Testing

Lately I have gotten quite an awakening to the realities of waterfall testing processes. This has come in the form of writing tests for my current client as they are preparing for a major release. So what have I learned? First, large development groups end up with large testing teams. This makes for challenges in coordinating efforts within the group. To overcome this I believe there needs to be well defined expectations and a single owner of the effort. The second thing I have learned is that such ......

Trouble Shooting Skills

Over my career I have worked with individuals who were problem solving challenged. Sometimes their critical thinking were in short supply. I think that mentoring is the best way to teach these skills. When a team member has a problem don't solve it for them. Ask them questions that make them solve it themselves. One of the questions that you can teach is to evaluate the resources that they have to indicate what the cause of the problem is. They should start thinking about things like the list below. ......

Language Extremists Irritate Me

I will probably get myself in trouble with this post, but a recent ARCast just irritated me like walking through poison ivy in a pair of swimming trunks. C# or VB.NET. The battle rages on. I will say that I prefer C#, but I spend a lot of time writing VB for clients who have that as their standard. In the podcast Ron's guest Bill McCarthy talks about how great VB.NET is. The funny thing is that what he points out as its strong points are exactly what I dislike about VB. Specifically things like the ......

Fun with Oracle CLOBs

We have been having prolonged adventures with this wonderful data type on my current project. We are storing XML data in a CLOB field. In the beginning we used the Oracle ODP.NET provider. When we got into performance testing we found that saving this data killed our performance. A couple of the developers did some testing and found that the Microsoft Oracle provider worked at least an order of magnitude better. I was a little skeptical about moving to the Microsoft provider because I remembered ......

The Importance of Having the Right Index

Here is another story from the trenches. My current project was having mysterious errors coming from its Oracle database, but only under load. Specifically we were getting the following: ORA-01013: user requested cancel of current operation This one had me stumped. How could this happen. I searched the code line by line. I got assurances from the testing team that the testing tool was waiting for the last byte to return before navigating away from the page. I scoured the web for any hint of what ......

To Transfer Or Not To Transfer, That Is The Questions

This is one that bit me the other day and re-enforces the need to think about why you use a certain method. I was doing some testing at the client I am working at and a page suddenly started rendering twice in the same browser window. So what I ended up with was: My Page My Page Now how the heck can that happen? I was a victum of my own code. The application's detail page was catching a custom exception type and then using Server.Transfer to go to an overview page. No problem, right? The problem ......