Well, good morning. Welcome to the second day of this fantastic perfusion conference. I'd like to thank Kathy Kibler, my dear friend and longtime colleague and others in the Texas Heart Institute Profusion Program for inviting me to speak again at your conference. It's an honor and privilege to continue to be associated with the Heart Institute Profusion Service. I would like to share with you again today a really a philosophy, a philosophy that I was introduced to almost three decades ago, a philosophy that I think is more relevant today than it was even then, yet a philosophy that is not broadly embraced or I think consistently practiced. And that is the notion that physiologic perfusion is predictable and consistently achieved. And that proposition, we believe, is built on an optimally coordinated relationship in the operating theater and probably beyond, which we call the triangle of trust. So physiologic extracorporeal circulation, is it a myth or should we view it as an imperative? I can't tell you how many times I hear to this day, oh, the patient was on pump and therefore the heart function is depressed. Oh, the patient was on pump and this bad thing happened or that bad thing happened. It's almost like in certain quarters, it's assumed and accepted that any time a patient is exposed to cardiopulmonary bypass, there is a net physiologic detriment. My opinion is that our historical viewpoint on this is quite varied. People say the length of time on cardiopulmonary bypass correlates to outcomes. I would like to challenge that. They believe to this day that speed in the operation is of the essence. I also would like to challenge that. In fact, I believe that accuracy is of the essence and that speed can be dangerous. Have we reached the limits of cardiopulmonary bypass? Well, clearly not. Look at the advances that are being made almost daily and other durable forms of support, mechanical circulatory support. So overall, I believe that some of our beliefs are holdovers from another era, but this sets up a problematic paradox and that is what do we believe? And I argue that what the surgeon believes really matters a lot. And what the anesthesiologist believes matters probably even more. But what the profusionist knows in terms of achieving accurate, predictable physiologic profusion, that's paramount. So what can the surgeon do? Well, we can do a lot.  I won't delve into things like vacuum assisted bypass and other more modes of assisted drainage, but I don't know how many times we have a debate maybe every day in the operating room about is the erotic cannula too big or the venous cannula is too large? Is drainage going to be sufficient? It's up to the surgeon to get that just right, so that the body is well drained, the profusionist is not having to add volume to the circuit, the liver is not congested, the bowels aren't congested. And this happens, I think, more frequently across the world than we would like to accept. We can minimize blood trauma. Of course, a lot of work's gone into coated tubing and more physiologic cannula designs, et cetera, but we add a lot to that. We surgeons add a lot to that. Riding the pump suckers hard, again, poor cannula positioning and other features. Our job is to perform an accurate operation and be gentle with the heart. And if we do that, and if we keep the heart decompressed and we're careful with myocardial preservation, and of course, a lot of research has gone into that, I think there are a lot of different ways that we can preserve the heart, but the key is keeping the heart decompressed. And to plan these operations well in advance, to discuss the strategic goals, the approach to the operation, and that only happens through effective communication. So what should the surgeon's perspective on the perfusionist be? I very much emphasize that our perfusionists are colleagues, are not our subordinates. Having visited a lot of different operating rooms, not only in the Texas Medical Center, not only in the state of Texas, but around the world, I can tell you that's not always the case. This relationship is optimized by precise communication. A quiet operating room, no background, unnecessary chatter. I personally don't favor music and precise audible, unambiguous communication with a readback, much as a pilot and an air traffic controller expect. And if we reach high, we can achieve more than we think. So high expectations for the interoperative experience translate into high performance. And then how are the patients doing? Rapid cycle feedback analysis. I would ask all of you as perfusionists in the audience, how often do you go to the intensive care unit and see your patients post-op? I don't mean just walk by the bedside, I mean actually see how the patients are doing. It's critical that the perfusionists know how vital the perfusion experience in the operating room is to the overall well-being of the patients. And so if you're not seeing the patients, how can you measure what you're doing? How can you refine what you're doing? How can you be consistent? And the goal, the goal should always be a warm, euvolemic, biochemically normalized, replete, well-supported patient at the end of cardiopulmonary bypass and thereby as the transition to the intensive care unit occurs. Again, communication is paramount. The Hart Institute of course was the brilliant idea of Dr. Cooley and the principles of modify, simplify, and apply still are relevant today. However, the perfusion philosophy of the Hart Institute and across the street at the Methodist Hospital still is permeated by the historical holdovers of an era where frankly you did have to be a really fast surgeon. You really did have to get the patient on and off bypass as fast as possible. And certainly we wouldn't enjoy the field of cardiac surgery that we know today had it not been for intrepid pioneers like Drs. DeBakey and Cooley and many others who boldly forged a new frontier. But the holdover of negative philosophy about bypass I think doesn't really translate into the current world. Moreover, how many times did we hear, certainly I hear in the course of my education early on, perfusionists is sort of training someone to do something of a lesser stature, which unfortunately that pejorative implication really undermines the overall triangle of trust in the operating room. The early days I can't imagine what perfusion was like in the early days. I certainly don't know that I would have had the courage to do things like controlled cross circulation and this photograph that's probably been shown a million times around the world, if not more, of Dr. Lilihine colleagues. It's kind of another all star operation. That was an amazing time and then no doubt in that period a perfusion was an iffy proposition, whether it be with this method biologic pump oxygenator or down the road at the University of Minnesota with Dr. Kirkland and colleagues with a giant mechanical device that again nobody really knew how it was going to work. I got introduced, I think got some glimpses into what we could do better with circulatory support as a resident specifically as a lab resident at Johns Hopkins in the mid 1980s. We were required to work in the research lab and one of the areas of interest we had and there's yours truly on the right of the screen with my colleague and friend Dr. Adachi from Japan. We were interested in heart lung transplantation and heart lung graft preservation and a lot of people were working on a lot of different ways to preserve the heart lung block but we would put the animals on bypass and that was an invaluable experience for me because I learned how the pump actually works and that served me really well in my career. Moreover, I probably made about every mistake that a perfusionist could make because we didn't have perfusionists, we were just doing it all ourselves. Anyway, we would harvest the heart lung block and then we would put these organs in an auto-perfused working heart lung circuit and this is a biologic graft supported in an extra corporeal closed-loop circuit. So the heart kept beating, the lungs provided the oxygenation, there was a reservoir, there was tubing and we figured out how to make this all work. Moreover, we figured out that we could do this and we could preserve the lungs for hours and hours and hours maybe even for more than a day without seeing significant edema organ system dysfunction and it was quite elucidating. So that initial work in the auto-perfused heart lung block then translated into this idea, well what if we just cooled the whole donor down, the entire donor down on cardiopulmonary bypass? So that's what we did. We did a series of animals and then we took it to the clinic and we actually published on this subject donor core cooling on cardiopulmonary bypass provides superior vital organ preservation for transplantation and we published this way back in about 1986. In fact, it was a highlighted paper at the International Society of Heart and Lung Transplantation and our lab was awarded the Philip Caves Award for innovation that year for that work. So it's dichotomous isn't it? It's dichotomous that we could prove in the laboratory that we could put a donor on bypass, cool the entire donor down and then in an unhurried fashion retrieve the vital organs and have them perform better than other static measures of preservation. And of course now today it's widely accepted that donor organs can be resuscitated in these various commercial devices that have been developed to support these organs extracorporeally. That all goes back to the 80s the work that we were doing and the Bartley Griffith and his Griffith and his team at University of Pittsburgh were doing. Interesting how these ideas come full circle. So we then and again this was the culmination of that work this auto perfused proposition really told us that we could be very accurate in the preservation of the patient's organs. Now we'll also say at that time in clinical practice at Johns Hopkins not so accurate. We were very formulaic to the way we approached patients and particularly children and I can remember vividly there was this philosophy many of you probably remember this that the flow rate the flow rate should be linearly related to the patient's temperature. So we would go on whatever ambient temperature the patient might be. Usually we found the patients were very vasoconstricted when we initially went on bypass that I learned I had there were many reasons for that but mostly because the prime wasn't appropriate. Then the patients would be cooled and of course the colder we got the patients the more vasoconstrictive they came. So by the time we had reached hypothermia and we were typically cooling the patients at least at 25 degrees nasopharyngeal temperature we'd be on 60% calculated flow 50% calculated flow and unfortunately often would see that the lactate was rising that perhaps the perfusion was having to add some volume to the circuit because we were losing volume and really not idealized perfusion. So fast forward to 1990 I got to travel to this hospital the Royal Children's Hospital the old Royal Children's Hospital in Melbourne Australia pretty austere looking place at that time but really doing sophisticated work. So I journeyed down to the Royal Children's Hospital and that was epiphanous for me in profound ways. I will say that to this day I point to the miracle that I was instructed by one of my mentors Tim Gardner at Hopkins that if I was serious about doing cardiac pediatric surgeon surgery I needed to go to Australia and I can remember sharing that with my wife and her saying my goodness after this long residency now we have to travel to Australia but Dr Gardner was so right and the work they were doing there was really field leading and the babies the children were just better supported and I would see patients come out of the operating room that were warm not edematous again physiologically so much better off and it was a real eye-opener. I also saw and so this is a photograph from then this is I think about 1990 in the operating room at Royal Children's Hospital and that's my friend and colleague Dr Stephen Horton now Dr Stephen Horton he has a PhD and extracorporeal support educated me about their methodology for physiologic profusion in Melbourne and it was really really different. First of all the way things were set up so that the pump was always on the patient's left side of the table it's amazing to me still how variable that is in cardiac surgery some people like the pump behind them some people like the pump in front of them I require that the pump be in front of me because we have to see each other and we'll expand on more of that in just a second but in any event you see the setup there in Melbourne and that that was a game changer for me. This really all got started because of the man there shown with a much thinner yours truly that's Dr Roger Me I think probably the singular most influential person in pediatric cardiac surgery around the world over the last 40 or 50 years and he unfortunately has received a lot less credit than he should have. This methodology this approach was sound rational predictable and remarkable so these these are stolen slides from Melbourne plagiarized borrowed from way back when what are the premises of small body profusion don't think of children and scale down adults accurate gear in other words if the pump says it's delivering to a two kilo baby 150 ccs per kilo per minute it's actually delivering that it's not delivering plus or minus 15 percent appropriate cannulas and I could spend a whole hour talking about that and customizing the profusion to the individual not cookbook profusion some of the other principles which were prescient and I think have proven the test of time avoid rapid temperature changes high flow low pressure meaning profound systemic vasodilation lower mean arterial pressures at the time we were using phenoxybenzamine which is a wonderful drug unfortunately it's yet another orphan drug in the United States that doesn't have a big commercial application and so you can no longer get it and we now use fentolamine um ultrafiltration continuous ultrafiltration on bypass and then again paramount cannula positioning high flow low pressure avoiding circulatory arrest and interestingly way back when the notion that ph stat management was superior so that was a protocol that we brought to Texas Children's when I was recruited there in 1995 and that was the hospital then in 95 and we were fortunate to attract three and then ultimately four believers or people that came to be believers um and it's gratifying to say that one of them the sole male figure in this picture Richard Owens is still working with us today and he's running all of our profusion services at Dell Children's Hospital now so we got to work these are pictures from those early days typically having two perfusions on a case working together this is our pump setup won't go into that too much other than to say that it's expensive it's expensive for a hospital to have a gem premiere or some other um mini chemistry lab to have you know state-of-the-art yostra or subsequent iteration pumps to have a vaporizer on the circuit that was enormously controversial when we started doing that um to have a video monitor so that the profusion can see the field to have the perfusions on physiologic monitor it's remarkable to me how people practice without having all this stuff but nonetheless it requires a lot of investment on the part of the hospital and one of those things is this simple idea of having a headlight not for the benefit of making pretty videos but for the benefit of everyone in the team to see what's going on and this was one of our earlier headlights way back when and then as I said checking up on the patients all the time seeing the patients with the perfusionist patient looks a bit more edematous maybe the patient's been too dehydrated when we and we have seen that through the years so we focused a lot since then on refining things of course the brain is our biggest fear on all forms of mechanical circulatory support we've developed I think our own methodology to this or modification of this methodology which was first described by Dr. Frank Pagula sewing a graft on the anominated artery and perfusing the brain rather than having periods of hypothermic circulatory arrest or aortic archery construction and now we do that as we wrote about some years ago and have refined since then using all available cerebral physiologic monitors and the game changer in my estimation was by cortical near infrared spectroscopy so that we could do things like this and this is a patient that in another era we would have never known that the brain was not being optimally perfused and this my colleague and partner Dr. Gottlieb wrote this up this was my patient and I had the tip of the cannulin too far you might say well how'd you do that well I did it and we would have had no way of knowing the blood pressure was fine but clearly both cerebral hemispheres were inappropriately perfused so we moved the cannulin got it fixed and we can do things like this we can adjudicate the flow rates and the time of circulatory arrest so here's a patient I think this was a patient with total anomalous pulmonary venous return that we do have to do circulatory arrest and so rather than just assuming that a certain length of time of circulatory arrest is appropriate we can use our near infrared spectroscopy data they're highlighted in purple to help us adjudicate durations of circulatory arrest go back on pump or subsite the brain go back on circulatory arrest and so we developed a set of core cardioporny bypass strategies that Texas Children's way back when and we've carried those on with us to Austin and these are some of the basic principles high flow low pressure minimize or eliminate circulatory arrest through the use of integrate cerebral perfusion adjudicate that with near infrared spectroscopy and transcranial Doppler pH stat acid base management high hematocrit slow profound cooling former colleague Dr. Androplas and others did some really outstanding work looking to see if this actually made a difference in patient neurologic outcomes and I think this quite nicely demonstrated that that's probably the case we could expand a lot of time talking about that subject this is our current setup in Austin it's the latest iteration I think of state-of-the-art technology you see there the profusionist viewpoint with our physiologic monitor video monitor cardioporny bypass machine readout blood gas and chemistry analyzer our livenova pumps and other gear but this is really what we think is paramount this is this is that triangle of trust you see in the purple the anesthesiologist that's dr. Gottlieb you see immediately in front of her dr. Beckerman you see to everyone's left the profusionist in this instance it's Blake Denison and Kellan Rosson and everybody working together everybody can see each other everybody can communicate with each other that's the triangle of trust when the triangle of trust breaks down and any one of the any one of the players can break down the triangle of trust when the triangle of trust breaks down or when it's not there when people don't perceive that it's important you got a problem I can promise you it's a suboptimal operating room environment just as a symphony orchestra is set up the operating room should be set up for optimal choreography of course this is where the rubber meets the road appropriate cannulation I won't expand on this too much other than to say that we're all about outcomes we're all about granular assessment of outcomes this is a program data sheet that represents our program activity since inception I'm happy to say that we're after a good start overall mortality so far of 1.3 percent that is just part of the story and we could go on lengthily about all the different things that we're measuring in terms of outcome performance this is the current device that we're trialing this is the Edwards bichortical near infrared spectroscopy device it's meant to be a little bit more forgiving in terms of patient pigmentation instead of using two wavelengths of near infrared light it uses five and so far we're happy with it I'm just learning how to use it this is our team I think it's a stellar team of individuals that we've recruited from far and wide really superb professional colleagues they round with us they conference with us they work with us in an integrated fashion in the operating room and we socialize as well they are integral to our heart center family and we're pleased to be participating in the educational programs the Texas Heart Institute which have been so important for so very long this is the first Texas Heart Institute profusion student who came and rotated with us we'll look forward to having more but we're proud to be part of that heritage so I'll leave you with this we're very proud of the main building here on the University of Texas campus inside the main building is a storied library with a lot of really important people quoted on the beams and these beams have been there for a long time and as an undergraduate and subsequently later doing some studying and whatnot I usually look up and ponder some of these valuable opinions about things and this one seems quite appropriate for the subject of profusion all that is human must retrograde if it does not advance we have to keep moving the field forward we have to keep having higher and higher expectations the goal of physiologic profusion is achievable and the triangle of trust that really sacred relationship is the key to that door so I thank you again for this honor and privilege of being part of the conference and I know that you are going to have a very vibrant and exciting day thank you very much


As cloud adoption continues to accelerate, more opportunities are arising for experienced IT professionals to move into cloud engineering roles. Up until now, the path to transition from system administrator or DevOps engineer to deploying and managing cloud instances has often been unclear. The Linux Foundation Advanced Cloud Engineering Bootcamp is designed to enable experienced IT professionals to become trained and certified cloud engineers with a strong understanding of the most important cloud native software projects in as little as six months. With the ability to study at your own pace, you can continue working while completing the program. You will also receive hands-on support via interactive forums and live video chats with instructors and can demonstrate your skills with the highly respected Certified Kubernetes Administrator exam. Transition your career into the cloud with the Linux Foundation, the nonprofit foundation which hosts Linux, Kubernetes, and many of the most important software projects for powering cloud computing.


So as you can see I've already whipped up the person class. I've got the student class hanging out We're we're gonna see it in just a second But just like we would always do when we design out these classes even though I'm using Name right here and name right here. They don't mean the same thing just yet So I have to establish that on my end and that's actually where this this Dot name equals this name this refers to my class variable This refers to my local variable and you see I get through all that and that's actually one good rule of thumb I like to do I like to always state this dot whatever I'm talking about specifically for that reason So now how do I? Obviously build it up for students. Well, if I take a look at student It's actually pretty much the exact same thing as we've seen in the past. The only difference is now Look at that guy Look what I've done there Extends person now What do I need to do here? There's actually a few things I need to do notice how I Continue to do this ID this Portion that still happens like usual, but now I actually have to say well, how do I how do I interact with? This guy, how do I how do I make these things? You know talk to each other That's the entire point of inheritance is I only have to make it run once and Set it and forget it the same way we use this We've been using this the entire time here and over Here as well. We do the exact same thing With something called super Super now is going to allow me to interact with my super class my parent class so if I take a look at This portion it let me get rid of this stuff for a second just to clear off what we're doing here and Let me even go so far as to get rid of the stuff inside here for a second Because what I want to go ahead and do is I'm going to go ahead and And I'm going to state your second Another second area What I want to go ahead and do is I want to put in all of that information. I want to interact with my super class my Super class so how would I do that? Again, the first thing I need to do is I need to utilize super super and There are a few things that I can do one of those things is if I want to utilize the super Constructor aka I want to utilize This guy right here What I need to do is I have to put super in front now what I have to do as well is I have to Give it some parameters remember. I'm still calling the constructor the constructor still takes something like a Name what else does it take? It takes a name address phone email, so I don't have too much for address, but one two three road My phone number nine one zero eight six seven five three oh nine and I he I'm and my email a a govita at Cfcc.edu and Just even ignore that for a second and boom now what happens when I do this is these parameters This guy this guy this guy this guy all of those parameters go up here they go to this Constructor they go to the person constructor, so what that does is then you know add them one two three road eight six seven five three oh nine a Govita at Cfcc those then get applied to these parameters now. You're probably saying to yourself Well, what if I don't want to just use text? Well, what we can do is we can add all of these parameters That we would need for the person class name String address, I'm gonna just shorthand it string Phone string Email I know that sounds like it's a lot of typing, but again now I can replace this with name I can replace this with address or ADR. I can replace this with phone and I can replace this with email and Again those will be passed to this version now one of the things that I can do as well is because I'm working with a Sub class that means I have access to not only My super my constructor, but I also have access to some of the other public facing Variable so I can do super Dot get Name what's really nice is I can actually create a new student say for example, I make a student Student s equals new Student and we'll just assume I have enough in my parameters here. I Can now do s dot get Name Where did we make it over here? I see enroll I see withdrawal, but where where is it? It's not here. It was inherited Inherited by our super class so now my sub class My sub class has access to it as well


I will welcome everyone to joining us for another episode of The Nonprofit Show. We are so glad that you are starting your week with us today and hopefully you'll stay around for us each and every day this week. Our guest today is joining us from your part-time controller, Angela Coaxham. And we are so glad to have you with us, Angela, and to talk to us about how our nonprofits can safeguard our funds. And so we're going to dive into this pretty deep. Angela has five tips that she's going to share with us. But before we do that, we, of course, want to make sure that we know or you know who we are, but we also need to remind us who we are. That is true. William Patrick, CEO of the American Nonprofit Academy. I'm Jarrett Ransom, your nonprofit nerd, CEO of the Raven Group. And I'm so honored and privileged to serve alongside you, Julia, each and every day for The Nonprofit Show. And of course, we are very grateful to our presenting sponsors that keep this going and growing. We will soon be celebrating 500 episodes thanks to these sponsors that you see on the screen and behind us. So please do check them out. These are fantastic companies. Your part-time controller is not only a presenting sponsor, but of course, as I mentioned earlier, our guest today. We are so honored to have you with us, Angela, and welcome. Thank you, Jarrett. It's certainly an honor to be here. I've watched a number of the shows and it's very informative information. So I'm very happy to be a part of it.  YPTC has given us some of our best guests. Absolutely. It's been really great. And so I'm no pressure, Angela. No pressure. I'm always, I'm always following someone at YPTC. So I, I understand the concept, but we are, we are accountants. We are absolutely accountants, but we are accountants who like to have fun. So we're probably not your typical accountants. We really enjoy what we do. And working with nonprofits gives us a lot of gratification, but also helps us to stay grounded. So I love that. And I think when you love what you do, it absolutely comes across, you know? And so I think, I think that's wonderful. And you're right, Julia, like we have had so many guests from your part-time controller, Jennifer, Aliva was really like on call throughout the pandemic and was literally breaking news with us on some Friday sharing some of the latest and greatest of some of the regulations and policies that we needed to adhere to. Well, today you're going to share with us five tips. And I, you know, the show goes by very fast. And so it's going to seem like we're merely scratching the surface. And we probably are. But as we talk about, you know, really looking at our fraud or sorry, looking at our funds and making sure we're safeguarding so that we don't have fraud, talk about this number one tip, which you have listed here as an online bill pay platform. Yeah. So thank you, Jared. It's really important. As you said, unfortunately, fraud does happen within nonprofits. We hate to think about that, but it is true. So one and two talk about some things nonprofits can do to prevent that. The first one is the online bill pay platform. So there are a number of them out there. You know, you can literally just Google it and find some that might be worthwhile for the organizations. But what we feel is really important is that they have a workflow process within them. So, you know, it can be, you know, anyone that's out there, it can be one that you get through your bank because they also offer them. But you want to make sure that it has a workflow process so that there is the opportunity to embed some internal controls in that payment process and segregate the duties so that you don't have the person who's inputting the payables is also approving the payables and then effectively signing the check or issuing the disbursement. You want to be able to have those segregation of duties and the bill pay platforms give you that opportunity. So your team has talked to us about the segregation of duties. Before, and I was fascinated by that because there's so few organizations, even if they have large budgets that have that expanded base and that expanded team. So I see this as a technology that allows you to have that. And I think it's really an interesting aspect of it. And it also seems like more and more of these platforms are automatically engaging with accounting software to add add in even another layer. And I'm wondering if you could briefly talk about that. Is that one of those pieces that should be in place? Yeah, yeah. And it's definitely very helpful to have your online bill play platform connecting directly with your accounting software. So a lot of them do it independently. A lot of them, you know, you can build that in when you implement either the platform or the accounting system. So you just want to make sure that that you're getting that done, that you are creating that linkage to pull that information directly. So it's pulling it from your bank to your bill pay platform right into your accounting system. And that way it also creates a lot of efficiencies so that you don't have to redo things. You're not entering information multiple times. You're just entering it in once, but it's available in both systems. So that is a really important component as well. OK, so let's go to tip number two, because when I saw this, I was like, well, wait a minute, isn't this already, you know, aren't our banking systems already secure? What are you talking about here, Angela? You're freaking me out. Sorry about that, Julia. The banks are generally pretty secure and they do their own monitoring. But what we really want to emphasize here is that the organization should set up their own monitoring processes, so making sure that they are looking at their accounts on a daily basis. And that's the bank accounts and their investment accounts that they're checking that activity. The banks do give you some other security options. Of course, everyone has a password. You have a pin to get into your bank account, but you can also set up a two factor authentication for those online banking access and then enabling to make sure that if someone steals your password, they can't then get into your account because they need this additional authorization from you that can either be an email or a text message that you then need to respond to to get into that account just to make them even more secure than your standard bank account. You know, as annoying as those two factor authentications, which is also really hard to say as annoying as they are, I am right there with you as a best practice because it really does safeguard. You know, as we're saying, one of our most critical assets are financials. And one of the things that we've talked about in Julia, maybe you can can help me remember the statistic. But during this time of the pandemic, there have been so many organizations that have either gone under or literally did not have enough cash to stay afloat and to pay the staff and, you know, to get everything going. And so we really need to protect our finances. And if that means a little bit of an extra, you know, two factor step, I think it's, you know, it's time that we get over our frustrations and just. Yeah, I do think it's really important. Some of these things may be a little bit tedious. Like, you know, who wants to check the bank account daily, but checking it daily can really make sure that, you know, there aren't some unknown debit activities that's coming in or credit activities, making sure that you're staying on top of that. Another thing that we recommend is implementing positive pay for both checks and ACH, and that really gives the organization a way to tell the bank, here's what I want you to make payment on. So these are the checks that I've written. These are the amounts and here's who it's paid to. And if it doesn't come through like that, then don't release payment. And that way you're really securing the cash in your account because the bank won't release it unless it meets those parameters. Wow. And can all of this be done set up, I guess, you know, electronically? Or do you need to have a personal relationship with your banker to ensure these steps are taken? Yeah, you do need to have a personal relationship with your banker.   Through the, you know, through the Internet, but you need someone on the other end to make sure that it's all going appropriately and that you're getting the services that you need. And they may even have some other suggestions for you when you sit down and talk with them and and talk about what your concerns are specifically. And that efficiency is so important. Well, as you mentioned, many of these items, rather, can be done online and electronically. That takes me to overall cybersecurity, right? And that, I know, has been something that has really come up quite a bit. But you talk about it in a way to include staff training. And I'm really curious to learn from you, Angela, on what this all entails. Sure. Sure. So, like you said, cybersecurity is something, you know, it's getting a lot of talk. There's a lot of fishing scams that are out there. There's what they call spoofing attacks on organizations. You know, staff is really kind of on the front line of some of these things because they're receiving the emails, particularly in a spoofing attack where someone is, you know, maybe spoofing a vendor, there may be spoofing their boss. So someone might get an email from that looks like it's coming from their executive director that says, hey, I need you to pay this bill. I need you to pay it right now. And here's where I want you to send the money.  So you're just, you know, dropping everything and taking care of what came across in that email. And lo and behold, the email isn't even from your boss. It's from somebody else trying to, you know, swindle the nonprofit out of their money. So we want to make sure that people are staying on top of that and really realizing, you know, ways that they can combat that. And education of the staff is really the front line for that. So making sure that there's training in place for your staff on how to look at these emails, how to identify what the schemes are and where there might be problems.  Does it really sound like my boss? Is this how he talks? Never clicking links in, you know, in email or an unsolicited email. Having frequent reminders to staff and then even doing tests. You can send test emails to your staff to make sure that they're actually following the rules that you set up and not responding to something that's inappropriate. Okay. Hair on fire moment. I would have never thought of that. But, you know, I kind of like that because I think so often, and Jared, we've talked a lot about this, you know, in the nonprofit sector, we never have enough time. We're just going as fast as we can. A lot of times we're going from one fire to another fire. I can see how in our sector, we are a lot more vulnerable to this because to your point, you're trying to get your job done. That's really interesting. Yeah. And it's also a trust factor.  And sometimes we shouldn't be. But, you know, again, when you get that email, you're saying, oh, it's from my boss. I see it. It's coming from his name. And you're just responding to it or her name. Sorry. I shouldn't assume there. That's okay. When you said he, I would say, or she. Absolutely. Well, and I'm curious to, and I'm just, you know, totally thinking right now, just, you know, shooting from the cuff. I know many organizations are still working in this remote environment. And I wonder if, you know, one of those best practice extra steps would be, you know, to message your boss, whoever, within the online chat portal. Like I know one of my clients, we're using the office, Microsoft office. And so we can literally just, you know, have these direct conversations. If you see someone online, that's a great time to say, Hey, I just got this from you. I wanted to confirm. And maybe just have a question to ask, you know, of, is it okay if it goes tomorrow? And then if your boss says, if what, if what goes to Yeah, like, Oh, yeah, absolutely.   But what you don't want to do is respond to the email. Don't send the email back and say, Hey, are you sure you want me to send this tomorrow? Can it wait? Because you honestly don't know where that email is going to. It's probably not going to the person you intended. So you want to have that direct contact with them. You know, that is so scary, because many of these items, I would not have thought would be something to exist regardless, but let alone within our nonprofit sector. So, you know, it's really something I'm not very aware of, sadly, and I need to better educate myself on items like this. It's stunning. Okay, now tip number four, we got to get into this and spend a little bit more time. Because this is a question, we've actually had this, this discussion that has come into our Friday ask and answer about the use of organizational credit cards and debit cards. And you are saying eliminate. Okay, talk to us about that. Okay, so the first thing I want to say is debit cards. Never ever, ever, ever, ever use a debit card. That's linked to your organization's bank account. You don't even want to get them from the bank. You don't want to use them period. And the reason for that is, again, it's linked directly to your bank account. Those funds are extremely vulnerable. If that card falls into the wrong hands, usually with that, there's only, you know, a pin and you can gain access. So you never want to use a debit card. But getting to the credit card. So in certain situations, it's okay to use a credit card. But for the most part, we advise our clients, don't use a credit card, you know, you can have a corporate credit card that you use for those online transactions that, you know, have to go through a credit card and they're repetitive. And that's all that it's ever used for. But what you don't want at the situation is handing out credit cards to multiple people within the organization, or even having one credit card that sits in a drawer that someone can sign out or, you know, you hand to someone in the program department and they can go use. That's where your, your really, your funds are really vulnerable in those situations, because again, the card can go missing, anyone can, you know, take down those numbers and use them at some future point in time. So you really want to eliminate that. But in order to be able to eliminate that, you really do have to have good controls in place around reimbursements to employees, because we do find that the best way to do that is to have an employee complete an expense report, submit that expense report, and get paid timely, get reimbursed timely for those expenses. And that actually goes back to kind of point number one, if you have those bill pay platforms in place, then you can really turn those payments around quickly. And what does that mean to you? What's quickly? In a matter of a week, I mean, normally our clients are paying, you know, they're paying their accounts payable once a week, once every two weeks at the most. So, you know, if a staff person is using their own personal credit card, you certainly want to turn that around to them within that two week timeframe before they get their bills so they can pay that out. Okay. So, Jared, I'm thinking about, I mean, we've been really focusing, last week was nonprofit power week, we spent with Fundraising Academy just on major giving. A lot of this now not during the pandemic, but a lot of these discussions are happening over meals, or we're taking our donors out. That seems to me a segment of staff that on a daily basis might be having these entertainment aspects or costs. What do you think, Jared? Absolutely. And that has been, you know, my career path really within the fundraising department. And so, whining and dining, right, or coffee and tea has really been the main environment setting for conversations. And so, really just making sure that the individual has enough funds to do that. And so, if we're not using a company credit card, you know, really ensuring that the staff in which you're asking to incur these costs and then get that reimbursement, you know, it's really critical. And so, back to your point, Angela, with having, you know, these online bill systems that helps to expedite the turnaround so that staff is not out, you know, waiting 30 days to receive their payment. That's something, you know, that is definitely just needs needs to happen quickly, I think for our staff. Absolutely. And if the organization is going to use credit cards, you want to make sure that you have the appropriate internal controls in place. So, you want to have good limits, you know, set limits on the credit cards on what they can, you know, how much they can charge on the credit card, making sure that the employee provides proper support. And that's even if they're asking for reimbursement, they should always have support and provide that timely. And then also, with the executive director, you want to have, again, the proper approval limits, approvals in place. And the executive director's credit cards and reimbursement should always be reviewed and approved by a board member, not a subordinate, but always a board member. Interesting. Okay, I never, I've never heard anyone say that. And I think that's really smart. Before we move on to tip number five. How do you feel about gift cards?  But do you have any sense of that? Is that? Yeah, gift cards are problematic, I guess, in a number of ways. One, again, they can be lost. You know, if you drop a gift card on the ground and it's got $250 on it, the organization is out $250. They can be stolen, they can be compromised. And so, you need very, very tight security on them if you are going to use them. But it's much the same as a credit card. Because if you're giving it to an employee to pay for some expense, they still have to come back and give you those supporting documentations. And you still have to make sure that they're using it for the good of the organization and not for personal benefit. Right, interesting. Really interesting. You know, I will, again, never thought of that. And that's why it's so important, Angela, that you love what you do because you're able to really educate and inform us on some of these things that maybe, you know, I can only speak for myself, I've taken for granted to say, I would have never thought about, you know, a gift card being misplaced or, you know, maybe falling out of someone's pocket, you know, just completely uncontrollably. So that's really important. And I think it speaks to it to having our internal policies and procedures in place. And I think that moves us to our fifth and final tip. Again, you've had five amazing, I should say four so far, amazing tips. And this is the fifth one. And you're going to move us into really what does it look like for the tone at the top, going into building those policies and procedures to ensure not only security, but you know, as we've spoken a couple of times to expedite these charges as well. So how do we look at this or how should we look at this by way of policies and procedures? Yeah, so obviously policies and procedures are extremely important internal controls and documenting what those procedures should be. If they're not documented, you can't expect staff to follow them. So you always want to have them documented, and then ensuring that you're checking in and making sure that staff is following them. But the first item there that tone at the top is really kind of where it starts. I mean, it really always starts at the top with the board and with the executive director, with the high level management, making sure that they're following the policies and procedures, because, you know, it obviously everything rolls downhill. If they're not doing what they're supposed to do, others in the organization are going to follow suit. So you really want to set that tone at the top, making sure that they're reviewing, putting the proper approvals in place. As I said before, the ED's expenses should be repealed by a board member. So having those in place and really people can follow on from that. As far as specific policies and procedures, again, you want to make sure that they're reviewed and updated on an annual basis. You want to periodically track that people are following them. Julia, we talked before about segregation of duties. You always want to make sure that, you know, whatever the function, whether it's payroll, accounts payable, accounts receivable, cash receipts, that there is an appropriate segregation of duties. And of course, that's that is difficult in nonprofits, especially when they're small staff. So you really want to take a look at who is doing what and what's the oversight of that. You can you can get around some segregation of duties issues with proper oversight. So making sure that, you know, the executive director is reviewing the payroll register and reviewing the bank reconciliation. Things like that can really help. Another one is mandatory vacations. So you always want to make sure that that staff are taking vacations, especially those folks in roles where they're handling funds, giving an opportunity one to see how things are working. But a lot of frauds can be uncovered in that way, unfortunately. Interesting. Yeah. And again, you know, as we started this episode, we really want to make sure that we are safeguarding our funds. Unfortunately, you know, fraudulent actions do take place in our sector. I don't always, you know, share our love to share. But there was an organization I was helping and I stepped in as their internal or their interim CEO because they had unfortunately uncovered, you know, an embezzlement scenario. And it was so frightful to see that many of these policies and procedures, you know, these two step factor often, that's clearly a word I cannot say. You know, just were not not done. They were taken for granted. And so when I read tone at the top, you know, for me, that's really the board. And having that true fiduciary oversight, because there's so much that can happen and really take down an organization. I agree. The board is ultimately responsible. And you want to have the folks on the board who are really paying attention, reviewing the policies and procedures and asking really good questions of management and understanding what's going on in the organization. And you said that these policies and procedures should be reviewed annually. Is that correct? Yes, they should. You really want to take a look and see because organizations change over time. You know, staff changes one, but also roles and responsibilities within the organization change. So you really want to take a look at them and see if they're still applicable. See, are we doing what we said we would do? And does it still make sense that this is the policy? Let me ask you this. Just I'm fascinated. I've never heard anyone talk about having a board representation in terms of a review of the CEO's, you know, process for the use of these funds. Would it ever be appropriate or possible that you have your accounting firm or your bookkeeping company do that work? Or I mean, do you see that piece or how does that work? Because ultimately, that accounting firm is hired by the CEO. Right. Yeah. So you're talking about the review of the expenses of the executive record. Yeah. So the I mean, the accounting firm, your auditors, they're independent. They need to maintain independence. So they would not be able to review the propriety, at least on an ongoing basis. You know, they're tasked with doing that at your end for the audit and making an opinion at that point. So they would not be able to step in.  So there's really not the ability to make that review. It's just it's a conflict. It's a conflict for any subordinate. So really our recommendation is that somebody on the board, whether it's the board treasurer, the board executive, the board chair, review those monthly, quarterly, but somebody should be reviewing the expenses of the executive director. Wow. Okay, Jared, I got to throw this one back to you before we end. Do you know of any organizations that are doing that? I don't. I do. And not all of them are doing them perfectly. Right. But I do. And then there's the dual signature on, you know, a certain level of purchases and things like that. So I really think as the organization grows and the maturity of the policies come into place, right, there's a lot more just not the software, but having it safeguarded, you know, and putting softwares in place. I just did a board retreat for a very, like, grassroots startup organization.   Yeah, it can go. Hey, you know, Angela, this has been amazing. Jared and I have loved this conversation because you have given us some new ideas and approaches. I think we're going to be talking about this more and more because of the digital nature that the nonprofit sector is really moving into and embracing on so many different management levels. And so this has been amazing. I want to give everyone the chance to see Angela's information again. Your part-time controller is across this country. How many folks do you have working with you now? Over 375 right now and growing, continuing to grow each day. So nonprofits across this great country can tap into the genius of your teams. And you have so many different things that you can offer. But the wisdom that we've been able to get from you has been magical. So thank you for joining us today. You started off the Monday really well, my friend. This has been great. If you'd missed this episode or you want to share this maybe with somebody else on your team, Hentent, a board member who should be reviewing some internal controls, you can get us on Roku, YouTube, Amazon Fire TV, Vimeo, if you're in Europe or the Middle East daily motion. Again, we want to thank all of our presenting sponsors that you, we would not be here having these robust discussions that happen each and every day. And Jared, you are right. We are marching towards the 500th episode. We are quickly. I know. It's been a blast.  It's really been, it's been phenomenal. I've learned a lot throughout each and every episode. Yeah, it's been amazing. Angela, thank you so much for coming on. You reduced some fears and you kind of exploited some others because you gave me some ideas that, frankly, I hadn't really been thinking about. So thank you. Well, that's been my pleasure. Thank you so much for having me. Well, it's been great. Hey, everybody, as we end every episode, we want to remind you and ourselves, I think, stay well so you can do well. See you back here tomorrow, everyone.


quick recap of the impact of the dependence on the accounting equation so if we increase or decrease the number of dependents it could have an impact on the standard deduction not always but possibly if for example there's a change from a single status to a head of household status which is due in part to the dependent there could also then be a change on the tax rates because the progressive tax tables could change if there's a change in status say from single to head of household for example but the main focus we think about when we have a change in dependence is going to be the tax credits and the big one or the one that comes to mind first is going to be either the child tax credit credit or the other dependence credit now we talked about the general rules in a prior presentation f for presentation and that is we're going to think about if there is someone as a dependent we want to think about do they qualify as a qualifying child do they qualify for the child tax credit and then if they don't qualify for the child tax credit then we're looking to get that other dependent credit that's always the thought process that's kind of in our mind in other words when we think about the dependence the dependent that qualifies as a child for the child tax credit is usually going to be giving us the highest tax benefit for a dependent and if we can't get that then we're going to see if we can get the other benefit being the other tax credit that's the general idea now we went through the the questionnaire in a prior presentation and this is the tax form with a dependent support accounting instruction by clicking the link below giving you a free month membership to all of the content on our website broken out by category further broken out by course each course then organized in a logical reasonable fashion making it much more easy to find what you need then can be done on a youtube page we also include added resources such as excel practice problems pdf files and more like quickbooks backup files when applicable so once again click the link below for a free month membership to our website and all the content on it they're going to be here this is going to be where they record the dependence the filing status is noted up top and then on the page two we have the tax implications possibly the tax rates changing due to difference in the filing status and the child tax credit or other dependent credit this is the big line that we typically think of when we're thinking about these credits now we went through the questionnaire and usually it's fairly straightforward to determine whether or not someone qualifies for credit and then to figure out what kind of credit do they qualify for the child tax credit or the other dependent credit but we talked about there could be some gray areas and for example if you don't know if someone qualifies as a dependent because there's joint custody situations is a common type of gray area and in order to address some of those items then we go into the definitions and special rules so this is kind of getting into the weeds now where there's kind of an unusual situation area so definitions and rules so we've got the adopted child and adopted child is always treated as your own child an adopted child includes a child lawfully placed with you for legal adoption so anytime that comes up pretty straightforward rule there there you adopted in the basically your child with regards to the taxes related to them adoption taxpayer identification number that's an a 10 a t i n's if you have an a dependent who was placed with you for legal adoption and you don't know the dependents s s n that's their social security number you must get an a 10 an a t i n for the dependent from the irs you can see form w 7 a for details if the dependent isn't a u.s citizen or resident alien apply for an instead of using form w 7 children divorced or separated parents so a child will be treated as qualifying child or qualifying relative of the child's non custodial parent a defined layer if all the following conditions apply so remember when we think about the test as to whether someone qualifies for a dependent usually we're thinking about do they live with the taxpayer and whatnot is over a half of the support given to them and so on but oftentimes you have these joint custody kind of situations which then you oftentimes if when someone's going through a divorce or separation or talk talking about child custody in a legal setting they kind of want to define these rules because you don't want of course to have fights over taxes you'd like to get it laid out so everybody knows what's happening from day one so there's not like manipulative weird stuff going on later but that's difficult to do oftentimes and in the process of a separation or custody type of thing they do this joint custody so once again a child will be treated as a qualifying child or qualifying relative of the child's non custodial parent defined later if all the following conditions apply one the parents are divorced legally separated separated under a written separation agreement or lived apart at all times during the last six months of 2022 whether or not they were uh whether or not they were married and then two the child received over half of the child's support for 2022 from the parents and the rules on multiple support agreements later don't apply support of a child received from a parent's spouse is treated as provided by the parent three the child is in custody of one or both of the parents for more than half of 2022 for either of the following applies a the custodial parent signs form 8332 or a substantially similar statement that they won't claim the child as a dependent for 2022 so now the custodial parent which would typically be the parent that would be claiming the dependent is basically saying they're not going to complain that uh going to claim them and have this written agreement for that why would they do that well possibly that's part of separation or divorce agreement or whatever that was come to possibly because they came to that because there was a tax benefit in whatever arrangement they settled on and it was you know that's what they agreed on uh for for whatever reason so and a non custodial parent includes a copy of the form or statement with their return so the non custodial parent and then has to verify that that this is indeed the case with a copy of the statement if the divorce decree or separation agreement went into effect after 1984 and before 2009 the non custodial parent may be able to include certain pages from the decree or agreed uh instead of form 8332 you could see uh post 1984 and pre 2019 or pre 2009 decree or agreement and post 2008 decree or agreement for more information so again somewhat of an unusual situation here but not totally unusual given the given the current environment so b a pre 1985 decree of divorce or separation maintenance or written separation agreement between the parents provides that the non custodial parent can claim the child as a dependent and the non custodial parent provides at least 600 dollars for support of the child during 2022 so if conditions one through four apply only the non custodial parent can claim the child for purposes of the child tax credit and credit for other dependents line 19 and 28 so remember the general rule with regards to these the situation is if you're talking about a dependent you can't really claim them on two returns that's clearly if you claim the same social securities number for the same person on two returns you will almost surely get a kickback from the IRS that's gonna that's gonna have a notice or you won't even be able to file the second return because that social security number had already been used if you're attempting to file electronically so when people get into kind of manipulative games the first person to file and claim say the child is going to be able to get the tax return to go through and the other person might not even be able to file the tax return if and you know and then the and then the whole thing becomes a mess so what would like to happen is of course whatever separation agreement or custody agreement is worked out you have it worked out and with the understanding that obviously you can't have both people getting the tax benefit of the one of the one child and that's going to be part of the whatever gets worked out


yesterday the NFL released their slate of international games and today they have released the official 2023 schedule so let's just kick it off with season kickoff of course it just feels right to me the Falcons regular season will start September the 10th as they host the Carolina Panthers as we have the Falcons play the Panthers twice a year but they won't see them again for 13 weeks which was very different from last season and of course week 4 the Falcons and the Jaguars will meet in London but instead of the bye week being immediately after London the Falcons will be waiting until week 11 for it but it actually worked out perfectly for the Falcons because listen to this when they come back from the bye the Falcons will host the Saints which will be the first meeting of the season this could be a huge advantage for the Falcons considering how close the NFC South could end up being honestly it could be so close it might be decided by the very last game in the season when the Saints host the Falcons I know this schedule looks to be promising for the Falcons and based off the strength of schedule it's the easiest one in the league and I know I didn't get to all the games but I'm sitting down with Scott Bear and Derek Rackley a little later to talk about these games a little bit deeper but in the meantime this has been a rapid reaction presented by Ticketmaster


వాతా వట్లె ల్ ధాల్లె ల్ల్లె గావాలిల్వాల్లాల్ల్ 알아 గాల్లె లావాల్ల్లె కరంర్గనాకె కూర్చా నిరిన్సంవ్ రెళాలనా. in the last session we had gone through different types of testing just to recap of what are testing methods that we have done in the last session we went through a recap of the rate one session all the 11 positions we had gone through and also we defined about IV and V validation verification and we studied about dynamic testing we had defined several definitions of dynamic testing it is very important to understand it is a process of evaluating the system when the system is executing that means we do the testing when we execute the program the other method compared to dynamic testing is the static testing this will be done without the need of execution of the software so we studied about dynamic testing with couple of definitions also we know the other method of testing using the static testing which does not need the program to execute so this also could be software analysis, walkthrough, inspections etc also we had gone through two types of dynamic testing at a broader level explicit dynamic testing where most of the system functions are tested by specifically designed for that purpose implicit dynamic testing we do the testing based on what we have done using explicit dynamic testing that is the process that we had done for dynamic testing will help us in understanding or analyzing some more test cases that is all directly or implicitly tested and structure based testing for dynamic testing we had already gone through in the unit walk that is the M method which has little principles so similar approaches are going to be in the test process which we have defined in the beginning of the session later on then we also studied that both are required because dynamic testing alone is not sufficient to completely test the embedded system static means of testing also is important so both of these techniques complement each other static analysis will be used in all the days because those days we did not have much tools or the tools were very expensive that is why we used to do static analysis more compared to dynamic testing nowadays dynamic testing is more basically being used and automated a lot whether it is not possible or where we need to complement with sufficient coverage and all that so there we will do the static testing also we know that the different techniques are all based on two basic groups black box testing and white box testing and black box testing testing techniques, white box testing techniques so we are going to currently so three broader things that we need to understand in different techniques strategy, test case selection methods, coverage criteria so we detailed about test case selection methods we know that black box testing is basically driven from the data or the functionality of the white box we study in detail the implementation of the logic underneath the embedded software here is the depiction of black box and white box we can see the top of the black box covering the functionality white box for the component testing see in between certain embedded systems for the Apollo A box it is a mix of both white box as well as black box and coming to the coverage we had seen the formula how they do the code coverage total code and executed code both of them are used in coming up how much of the percentage we have covered so it is simple executed code divided by total code in terms of percentage use the code coverage this for the white box similarly for black box we measure the coverage of the requirements total number of requirements that we tested against total number of requirements that will give you the coverage in terms of percentage and also we had outlined the difference between between black box testing and white box testing also we underlined black box over testing advantages black box over testing advantages white box testing advantages and white box testing disadvantages so this was some of the testing aspects black box testing now going to the today's session elaborating different black box testing methods so we will detail on the selection technique called equivalence partitioning what is equivalence partitioning to understand what is equivalence partitioning we need to have some background we all know that we do embedded systems testing with the help of the test cases we have studied the strategy test planning defining the test cases given a requirement of the specification so typically the universe of all possible test cases is so large difference suppose we had gone through an example requirement say 1 to 10 so we know that the system can take from 1 to 10 we know that we can define the inputs in terms of 1 to 10 but in larger systems this may have from 1 to 10,000 or maybe even 100,000 whatever it is so it is going to happen such that it may become very large so it is possible to test all differences so we need to select only relatively small number of test cases because we know that it is going to work for 1 it is going to work for 2, 3, 10 and some cases it may not work so we need to understand what are inputs that basically it takes so we need to let that in the small number of test cases all test cases will not be required so that is what the partitioning the number of test cases whatever we have is called equivalence equivalence classes so the next comes the question which test cases we should choose or which test cases we should select so for all of these we come across in the concept called equivalence function this will help in doing the test case selection okay so some more details 2 test cases are considered to be equivalent if we expect the program to process them the same way that means we know for a system if we feed 1 or if we feed 2, 3 whatever it is and we get the same result and we don't need to repeat them we call that as equivalent similarly we group different equivalence test cases equivalent test cases they all can be grouped how they can be grouped we will study in the that means identifying the sets of inputs under the assumption that all values are treated exactly the same by the system of course you feed all these values the behavior is same the output is same that means we are able to test with these values so equivalence part is the most fundamental test case so the aspect of whatever software testing you want this is a mandatory testing technique that they adopt okay we identify the sets of inputs under the assumption that all values are treated under the behavior is same the next one is make one test case for each identification that means we have identified the sets of inputs which behaves the same then out of that you identify what test case the partition of the input domain of a program so that a test of the relative value of the class is equivalent to test of other values of the class telling in detail saying that the testing of one class is equal to the other one this technique involves designing of test cases for testing classes of errors instead of individual errors that means this technique basically identifies the design of most appropriate test case for identifying the test classes which will result in failures of errors in a group of the system of the test than of individual errors that means if I feed one the system is behaving in a faulty way and they are feeding three, four different different way we identify appropriate failures or errors as a group one to ten suppose I am going to I know that it is going to fail then the most appropriate one so in detail further if one test case in an equivalence class detects an error all other test cases in the equivalence class that means the type of error that it finds is the same conversely if one test case did not detect an error that means in that group if it is not finding one test case other test case is also expected to not find any error so other definitions are equivalence partitioning helps to reduce the number of test cases and ensure that software perform the way it is supposed to do for different kinds of so as I said different number of inputs we can have to test it but it is not realistic to have all those especially the larger systems where we have thousands of values so this equivalence partitioning will help to reduce the number so equivalence partitioning is one of the most black box testing techniques basically the underlying idea is the input domain can be divided into number of equivalence classes the characteristics of an equivalence class is the assumption that the values belonging to that class are handled in exactly same manner by the program if the assumption is true then it would suffice to select only one single test case for each equivalence class because multiple test cases from the same equivalence class would repeat so testing is unnecessarily repeated so it will be all over so coverage is by dividing the number of equivalence class we know how much is done so it is basically the number of equivalence classes by the total number of equivalence classes so the workflow when using equivalence partitioning is to analyze these possibilities and try to identify all likely equivalence classes the thing we do is we analyze specification we analyze the specification and try to identify all likely equivalence classes so when doing this it is important to remember that there may be dependences between different input variables we feed variables A B C etc so very possible input value belongs to exactly one equivalence class that variation is there then we can divide into different classes so the final next step is to check choose a good representative out of all is equivalence classes to form the test case for that equivalence of the equivalence partitioning identification in elaboration of that we probably go through different examples we may understand better so different views are there based on the reference that we have the reference I have put it in the bottom so to have a clear understanding equivalence partition theory so equivalence by the total number of test cases by partitioning the input conditions into a finite number of equivalence classes so we know we analyze the specification and come up with the equivalence class so this will reduce the number of test cases total number of test cases every two to guide the tester using sample strategy that means that means as part of the strategy the next thing is we do a sampling that means there are 100 possible way to compare a good test case or final error so what we do is we do a sampling like 10% 20% of that which is enough to bring the errors or the failures of the particular system so that we will be done with the help of equivalence partitioning that is what it means okay continuation of the equivalence partition of the description it is the principle of deriving the test cases the input domain all possible interval is partitioned in the equivalence class for all input values in a particular equivalence the system shows the same kind of that means the process is the same the output that is expected of that the functionality that is getting it is quicker out of most set of equivalence class inputs are same the idea behind this principle is that all inputs from the same equivalence class have an equal chance of finding a defect and that testing with more inputs from the same class hardly increases that means we have already found a defect it won't increase any both effects finding a defect instead of testing every possible input value it is sufficient to choose one input from each equivalence class this greatly reduces the number of test cases while still achieving a good coverage so what we understand from the equivalence partition is that we divide the entire bunch of test cases based on the behavior that the inputs that we provide will result in the failure of the process so we divide all of them as a equivalence class okay so the equivalence partitioning is basically on it is called a two level of two partitioning one is called valid other one is called invalid test cases that means the one that are going to be tested with the help of the you can say normal range or the expected way of usual behavior that is called valid test cases or valid equivalence class visual behavior from the systematic test all this comes under valid class the one that is not so usual or what is not expected when the system is running normally each one of other behavior than what is normally done so this can be invalid test cases so two groups of valid and invalid test cases are all coming under equivalence partitioning and the result of equivalence partitioning we are going to have two types of partitioning valid and invalid so probably okay so let us see equivalence partitioning also there are three types that we have for equivalence partitioning so there are two basic methods two basic partitioning that we have for equivalence partitioning that is why it is called as partitioning one is valid partitioning other one is invalid partitioning so what is valid partitioning when we have the system running normally that means executing normally working as expected so the test that will result in normal behavior or usual behavior those are all coming under valid test cases the inputs that with the help of those test cases will result in usual behavior or the normal 1 to 10 is what the system expected to give or 1 to 10 is what the system expected to take input proper result will come under all valid equivalence the other way of testing is the help of negative values or outside the boundary so it will result in some sort of a what is it called other behavior of the normal system so those are all coming under invalid test cases basically what we had to try time to say we may have the left side we use key and key number of valid test cases these dots blanked out for all maybe we can group something like one group is group could be one more group can comprising this I will repeat so we have this rectangle box I will define all the test cases that is what we do in that we are going to have two partitions in valid what we do all the valid inputs which will behave in the same output we are going to define one equivalent class the first one next could be this one next could be this one so we have four equivalence valid equivalence class similarly for invalid also we are going to have something similar to this we are having four invalid we are having more actually but what we do that is why the equivalence coming to picture then equivalence has two things one is valid so these are the primary first level of partitioning we do okay detail the same diagram what we have seen in the previous slide here what we have is we define each of them with one number equivalence one equivalence two equivalence three etc so further maybe you can change it as something like equivalence valid one equivalence valid two equivalence valid three similarly equivalence invalid five equivalence invalid invalid so we have three valid classes and three invalid classes and in the previous slide we again we can group each of this we do not have to repeat all the test cases which are resulting in the same behavior so we have three right so we have to cover this what could be so we have valid three test cases similarly we have invalid three cases all the rest of them can be so three valid and three invalid it again depends on what sort of test cases identify all the test cases then divide the sphere into two two level of partition one is valid other one is invalid so then we group valid such way that the behavior is usual and all of these are grouped so there are four here in this case three one equal to nine two equal to three similarly we can name it invalid cases also with a unique identifier so that is what we highlighted here partition value between three class create a test case for atleast one value from each equivalence class that means we have two three problem select an appropriate one which is good enough to have a representation form so partition valid and invalid equivalence class first then create a test case for atleast one value from each equivalence class that is what it is okay let us take an example with the help of with the help of that probably we are more clear okay this is the rectangular box three columns the first one is being input suppose you take the input that means requirement two are there integer n such that the n takes from minus ninety nine to plus ninety nine so that is what the input it goes for requirement so what are the that we can arrive at and what are the invalid equivalence class that we can arrive at for this particular input set similarly one more let me identify being a phone number phone number will have area code 200 999 and there is a prefix of 200 999 this is another set of test input and what are the valid equivalence class of this and what are the invalid equivalence class of this any guess okay the first one we will take we know that the n takes from minus 99 that means the system is expected to take the input from minus 99 plus 99 so we can have number of test cases minus 98 minus 97 minus 99 minus 98 minus 97 but all are within the range then we can have 0, 1, 2 10, 20 30 50 60 90 99 right so these are all it can take that is what the input that we have but do we need to have all this we know that these are all valid because the first thing is these are all valid okay so valid equivalence class because still it is not equivalence class input value that n can take minus 98 it can take minus 97 plus 98 so these are all test cases but we do not need to have all this probably we can group this again based on the system what is going to be tested it is objective it could be a unlock all could be some system having a sensor input taking value so that we need to understand the system and from the system perspective then probably that is the best way but in general we can choose a group of test cases such a way that it makes sense here we have 1, 2, 3, 4, 5 so that all need not have to be tested so it will become an equivalence class it will also become a valid equivalence class because we have all the value so here about 5 are there minus 98 minus 10 so 2 negative side we want to have with a 2 digit number and some more we want to fit because the implementation could have some issues in terms of single digit so that way we can divide it second equivalent class having minus 9 minus 1 where a single digit negative number it is taking then there is a value of 0 so 0 also should accept input range then similarly we have 1 to 9 1 and 9 on the single digit side and we have 10 and 9 to 9 so this is a good example of a valid equivalence class okay the next one invalid equivalence class so what could be the invalid equivalence class we know that valid equivalence class we have defined from minus 1 which is invalid for n but invalid test cases but the invalid test cases can be it can be minus 98 sorry it could be minus 100 minus 102 etc so it can grow but better to identify few of them similarly the plus side we have a 9 to 9 it can take 100 200 some randomly we need to do it we all will become a equivalence class test cases but under the category of invalid why because in a normal case we are not expected to take that so this will become an invalid test case that means the system is supposed to behave not usual manner that is why it is called as invalid test case so what are the few example invalid equivalence class for this range minus 99 we can specify the value such as minus 100 everyone use greater than 99 such as null form or break that the system will accept as a negative or unusual value like 12 we are doing the input as 1-2 minus 3 this you can consider something like a value instead of number basically and the input that are we going to provide is 12 minus, similarly one minus, two minus, three, likewise we can had anything that we want.Red D గ్నన్ ప్త్నిచించ క్స్యకార్లులుయాని. ఇడార్స్వ్సారోల్లునియులుకిక్కించించిక్రంచితి. ప్బ్మన్మాని. so password is supposed to expect defined input only, it cannot change, so that is a good example of providing input, the input is supposed to be in the same manner what is being specified to requirement, the empty value that means the blank, sometimes the blank is specified it is up to the specific program, so these are two valid and invalid equivalence class example similarly for the phone number, valid equivalence class we know that area code 200 to 99, so we can have 555 to 555, then 555, 555, 555, 555 and then we have 555, 555, 555, so this is another valid number then we have 200, let us say we are equal to area code, let us say we are equal to area code, so this 455, 555, 555, 555, it is up to the standard to requirement, this is నిందానింది నింది పిందింది నిందింది నిందిందిందిందిందింది అదిందింది. So, if you are familiar to what is been there for the N here we have a phone number which is changed to the specified. So, what are the invalid IPLN which are invalid formative 55555 together. So, similarly the next one two prefixes are there supposed to be one prefixes we have two prefixes. క్రమ్ల్ ఈథాసారిని నేచాస్టా గలగారిక్మి క్లకెలేల్మానేయం క్రిటిటేటేటురాచాదాంటుమటుయం sleptగినాదాసడూటాత్. నోంరోతోరోపిోక్చదళకరంలివరి. నోంరోరోవిదవరికోకరంప నింనిలారీటిటారీ నోం. we will study more examples in next slide. Now having seen the example definition we will again revisit our equivalence class understanding two types of equivalence class are valid equivalence class, two types of valid inputs to the program all other inputs which are not included and are in valid class called invalid equivalence class okay two guidelines for identifying the equivalence class first one if an input condition specifies a range of value suppose 1 to 100 the equivalence class are one two valid equivalence class counted from 1 to 100 two invalid equivalence class one is less than the first count and the other one greater than the last count okay the next the second one is about if an input specifies a range of value which are handled differently like type of color that means red, blue, green is an input set of input then the equivalence class what are the equivalence class so we have one valid equivalence class for each value that we have red then we have blue then we have green here one valid equivalence class one more invalid equivalence class out of this maybe it could be white or yellow it could be the under set of example third one third one you can input condition specifies a value the character must be a letter suppose the equivalence class are here basically depending on depends on the type of the impending requirement the requirement talks about the count here so count will have in terms of number less than the account here is the character so we need to feed with a invalid character or the invalid group on correct the red, blue, green the valid group and the one is the invalid equivalence class similarly we have a must be a value sort of input condition is available then what are what is a valid equivalence class talks about is any letter we should consider the any letter it has is nothing but a valid equivalence class other than any letter or it is called a non-letter it could be number that is nothing but invalid equivalence class so all these are the standard here we can see where we have taken on the number and input and what are the non-number what are the interpreted number all these are what are the invalid equivalence class and valid number and all in the range are called valid equivalence class the fourth guideline everything finished long before the task is done is an equivalence class everything done within some short time interval before the program is finished is another class everything done just before program talks our operation is another class that is we have a time based requirement suppose in those cases how we can define the equivalence class what it talks about everything finished long before the task is done is a valid equivalence class everything done within some short time interval before the program is finished is another way valid class we can say everything done just before program another way operation is another class that means three equivalence classes have been defined for the time or the requirement that is one guideline that is the fourth guideline fifth one this talks about a memory if the program is specified to work with memory size suppose the memory can take from 64 fp to 250 fp so what is it going to take for equivalence then the size range is an equivalence class because we know the size what is the lower size what is the higher size any other memory size which is greater than 2 or any other size which is less than 64 it can be accepted it should accept and those are called invalid equivalence class likewise we can define the equivalence partition for this set of a requirement the last sort of guideline is the partition of output event lies in the inputs of the program is very important it is not just the input based equivalence partitioning there are output based partitioning also that is possible due to the certain set of inputs the outputs can be derived so based on the outputs also we need to define that is what it means even though different input equivalence class could be could have same type of output event you should still treat the input equivalence class what it means is we have two equivalence class but still it will result in same output but based on type of equivalence class we need to categorize it for example it may throw an error for all this as a one error that means we have one output but still we want to test it because we know what input it can take that what it means the output event based on that so one example we will take here if an unlock variable where need to operate within the range 1.0 to 6.0 so there is an unlock input which can take or which will operate with the range of 1.0 to 6.0 so what are the equivalence class that can be performed the first type of equivalence class input value for variable equal to 0.9 another input value for variable equal to 4.0 this is normal range because 4.0 is greater than 1 and less than 6 wrongly put here it is this way so 4.0 is greater than 1.0 and less than 6.0 so that way we can have the second set of equivalence the third one is the input value for variable equal to 6.0 which is just outside the range which are also embedded class so with the help of these guidelines we have to define different types of valid and embedded class okay one more example system behavior is subjected to the following concept regarding the input temperature so close temperature lies within 15 to 40 it is very important to be there so it is including 15 and it is including the 40 at the outer boundary so sometimes we have to be careful in the test case selection because the requirement is less than those are all trivial but it is not a good practice to have a requirement that is specifying less than what will happen with equal to so test class should not get confused so it is better to mention as less than or equal to similarly as the outer boundary as greater than or equal to or less than equal to whatever the way equal to greater than less than operator are used the number of possible values for the temperature we can have 15.01 15.02 15.1 15.2 15.3 15.2 is still 39.999 subject to the acceptability of the embedded system so it is infinite the value could be different we know that we are going to have a equal as partition for the sake of reducing all this so that is what you mentioned here three equal as class can be defined for this temperature is lower than 15 lower than or equal to 15 temperature has a value sorry temperature is lower than 15 because equal to is also a valid class temperature value is the range of 15 to 40 temperature is higher than 40 so three equal as class can be defined so three test cases are sufficient to cover the equal as class we do not have the hog or division because it is enough to test the condition so invalid two are there 10 and 15 so 10 and 15 valid we have one it could be anything between between 14 that is 35 for example the choice of that particular value depending on the what exactly we are trying to test it if the temperature of these are very common if you think that the system could fail at 35.5 or 39.5 you can have it we will study about that boundary value analysis in the next slide because that will complement further equal as partitioning that is also an important technique we will study about boundary value analysis maybe in class equivalence and partitioning can be done one more good example I will give it here let us consider that real level we shall set an indicator as per the below conditions so real level identify the levels of the real based on the level it will indicate so that is what the requirements there are three requirements if the level goes below 10 liters it shall set the indicator to yellow if the level goes above 100 liters or below 1 liters it shall set the indicator to red otherwise it shall set the indicator to green so what it means e is that from 10 to 100 liters we have the indicator set as green and the above 100 or above sorry below 1 liter it shall set as red the one below 10 and above 1 it will set as yellow so just to have an understanding of different values I will distribute so there are three requirements for real level the one requirement for green is talks about 10 to 100 liters the one talks about red which is less than 1 liter or above 100 liters the indicator will show red the one that is showing between 1 and 10 will indicate as yellow so what are valid and what are invalid with the help of this below 1 we can identify invalid 0 and 1 the value which is in between or invalid which is in between the value between 9 and 10 are valid but it is yellow indicator because the requirement talks about yellow so what are valid the next one the value between 100 or the one less than that is green because the requirement tells that between 10 and 100 should be green and between 1 and 10 should be yellow and before 1 it is invalid similarly the last one is to set the indicator as red if an invalid input is there invalid input could be greater than 100 to 10 etc so that is what is depicted with the help of this example so this is a table it is good to have this on the root table it is called root table why because it identifies all the combinations of inputs which is good enough to identify and differentiate between invalid and valid so what we see here a root table identifying on the left hand side you can see a red yellow green as indicator and right hand side you see a different sort of so what are those classes we have we have class A, class B, class C class B identifying for different indicator less than 1 we have indicator which is set to the root table as ticked similarly we have yellow indicated less than 10 maybe we can add 1 and 1 similarly we have indicator greater than 10 coming under as green similarly we have greater than 100 coming under red we can also add less than 100 greater than 10 some more we can take it as so out of all this what are the equivalence so we have more about groups here invalid is 0 and minus 1 because requirement does not talk about 0 and 1 minus 1 so that is why we did invalid similarly the other extreme of requirement is 101 equal to invalid equivalence partitioning we have two valid one valid two equivalence partitioning 1, 2, 3, 4 up to 9 10, 11, 12, 13 up to 100 so in this valid equivalence class we can choose something like 1, 5 and 9 or it could be just one even similarly for the valid second group of equivalence class we can have 10, 20, 100 likewise so we have added this also can be done this equivalence partitioning can be done with the help of output domain that means where outputs can vary for different inputs and single inputs also which we need to consider for equivalence partitioning test cases are then there are all equivalence output classes that means we derive all the test cases which will take care of the output class also similarly we will define the two table we have for input for the output also so with that we come to that of equivalence partitioning so we have gone through some of the equivalence class examples we defined the valid and valid equivalence classes and guidelines such as count characters must be value and time because majority of all the requirements will come under these guidelines also we went through if you could also under the way of the teacher then we have defined two partitions valid and invalid they would identify and differentiate all these under the partition and we identified a couple of good examples for equivalence partitioning we also move that out of there the partitioning we can do it equivalence class as we do we have added more words software testing words if we have missed anything we can okay I think we have everything so in addition to what we have we have equivalence classes we have today valid and valid equivalence classes of course what we are going to do in the next class and we have a couple of exercise questions what are the main things how we have use the boundary so we are going to నిసి ని మిరాడిలూ లోంది మిసి నింది నిసి మిసి పిస్టి.